先用
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();