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

 

利用XML生成Excel
然后另存为
XML表格:

 


利用XML生成Excel
将生成的
Book1.xml复制到项目中并打开:

 


利用XML生成Excel
找到
Table节点,将节点的ss:ExpandedRowCount=”2” 删除掉

 


利用XML生成Excel
往下会看到我们刚输入的标题了吧

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

相关文章:

  • 2021-11-23
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2022-02-03
  • 2021-09-30
  • 2021-08-31
猜你喜欢
  • 2021-06-14
  • 2022-12-23
  • 2021-12-05
  • 2021-09-27
  • 2022-12-23
  • 2022-02-16
  • 2022-12-23
相关资源
相似解决方案