利用XML生成Excel

利用XML生成Excel

 

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

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值