现在的位置: 首页 > 综合 > 正文

利用XML生成Excel,解决直接输出导出EXCEL的关联迅雷吧ASPX下载下来的问题

2014年03月19日 ⁄ 综合 ⁄ 共 1283字 ⁄ 字号 评论关闭



 

先用
Excel将我们要生成的表格设计好:

 


然后另存为

XML表格:

 



将生成的

Book1.xml复制到项目中并打开
:

 



找到

Table节点,将节点的
ss:ExpandedRowCount=”2” 删除掉

 



往下会看到我们刚输入的标题了吧

<
Row
>

    <
Cell
ss:StyleID
=
"s23
"><
Data
ss:Type
=
"String
">

姓名</
Data
></
Cell
>

    <
Cell
ss:StyleID
=
"s23
"><
Data
ss:Type
=
"String
">

成绩</
Data
></
Cell
>

   </
Row
>

下面就是数据

   <
Row
>

    <
Cell
ss:StyleID
=
"s24
"><
Data
ss:Type
=
"String
">

张三</
Data
></
Cell
>

    <
Cell
ss:StyleID
=
"s24
"><
Data
ss:Type
=
"Number
">
80</
Data
></
Cell
>

   </
Row
>

 

将数据Row剪切并替换成 {0}

<
Table
ss:ExpandedColumnCount
=
"2
" ss:ExpandedRowCount
=
"2
" x:FullColumns
=
"1
"

  
x:FullRows
=
"1
" ss:DefaultColumnWidth
=
"54
" ss:DefaultRowHeight
=
"14.25
">

   <
Row
>

    <
Cell
ss:StyleID
=
"s23
"><
Data
ss:Type
=
"String
">

姓名</
Data
></
Cell
>

    <
Cell
ss:StyleID
=
"s23
"><
Data
ss:Type
=
"String
">

成绩</
Data
></
Cell
>

   </
Row
>

 {0}

 </
Table
>

 

好了,可以开始写程序了。

DataTable dtData = new DataTable();

dtData
的数据为 (姓名,成绩)

//
这里就是刚在在XML里剪切掉的Row

string Row = @

 <
Row
>

    <
Cell
ss:StyleID
=
""s24
""><
Data
ss:Type
=
""String
"">
{0}</
Data
></
Cell
>

    <
Cell
ss:StyleID
=
""s24
""><
Data
ss:Type
=
""Number
"">
{1}</
Data
></
Cell
>

   </
Row
>

;

List<string> Rows = new List<string>();

foreach(DataRow dr in dtData.Rows)

{

Rows.Add(string.Format(Row,dr[

姓名

],dr[

成绩

]));
}

 

StreamReader reader = new StreamReader(

XML
名称.xml

);

StreamWriter writer = new StreamWriter(

新的Excel.xls

)

 

writer.
Write(reader.ReadToEnd(),String.Join(

"r"n

,Row.ToArray()));

writer.Flush();

writer.Close();

reader.Close();

抱歉!评论已关闭.