利用XML生成Excel
先用Excel將我們要生成的表格設(shè)計好:
?
然后另存為XML表格:
?
將生成的Book1.xml復(fù)制到項目中并打開:
?
找到Table節(jié)點,將節(jié)點的ss:ExpandedRowCount=”2” 刪除掉
?
往下會看到我們剛輸入的標(biāo)題了吧
<Row>
??? <Cell ss:StyleID="s23"><Data ss:Type="String">姓名</Data></Cell>
??? <Cell ss:StyleID="s23"><Data ss:Type="String">成績</Data></Cell>
?? </Row>
下面就是數(shù)據(jù)
?? <Row>
??? <Cell ss:StyleID="s24"><Data ss:Type="String">張三</Data></Cell>
??? <Cell ss:StyleID="s24"><Data ss:Type="Number">80</Data></Cell>
?? </Row>
?
將數(shù)據(jù)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的數(shù)據(jù)為 (姓名,成績)
//這里就是剛在在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();
轉(zhuǎn)載于:https://www.cnblogs.com/wuxing/archive/2009/08/28/1555857.html
總結(jié)
以上是生活随笔為你收集整理的利用XML生成Excel的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux培训课程第六天:ppt以及笔记
- 下一篇: Spring.NET学习笔记12——面向