最后的xml或txt的结果如下:
<?xml version="1.0" encoding="gb2312" ?>
<K_ROOT>
<K_HEAD>
<C_CO>4123</TRADE_CO>
<C_RDATE>20110327</RDATE>
<MEMO>GGDER</MEMO>
</K_HEAD>
<K_LIST Count = "2">
<K_ITEM>
<COP_G_NO>A5</COP_G_NO>
<CONTR_ITEM>2</CONTR_ITEM>
<WH_LOC>WH1</WH_LOC>
<G_QTY>1.0</G_QTY>
<G_UNIT></G_UNIT>
<QTY_1>1.0</QTY_1>
</K_ITEM>
<K_ITEM>
<COP_G_NO>A6</COP_G_NO>
<CONTR_ITEM>3</CONTR_ITEM>
<WH_LOC>WH1</WH_LOC>
<G_QTY>1.0</G_QTY>
<G_UNIT>KG</G_UNIT>
<QTY_1>1.0</QTY_1>
</K_ITEM>
</K_LIST>
</K_ROOT>
怎么不能插入图片?。。。excel表格样本如下, 第一行为表头。 能不能提供基本的代码供我参考,小弟接触C#时间很短,求教了。。。
C_CO___C_RDATE______MEMO____COP_G_NO___CONTR_ITEM__WH_LOC__G_QTY____G_UNIT__QTY_1
4123___20110327_____GGDER___A5_________2___________WH1_____1__________________1
____________________________A6_________3___________WH1_____1_________KG_______1
我参考过许多资料才来提问,可惜由于是新手时间又赶,能不能有相应代码供参考,感激不尽。
追答//
//1.读取 excel 到 DataTable 中
DataTable dt = ReadExcelToTable();
StringBuilder sbxml = new StringBuilder();
sbxml.Append(" ");
//自己想下面也拼下
/*
4123
20110327
GGDER
*/
//下面 循环
foreach (DataRow dr in dt)
{
sbxml.Append(" ");
sbxml.AppendFormat(" {0},dr[COP_G_NO]);
/*2
WH1
1.0
1.0*/
sbxml.Append(" ");
sbxml.AppendFormat("");
}
sbxml.Append("");
//保存
StreamWriter Sw = new StreamWriter("文件路径.xml");
Sw.Write(sbxml.ToString());
Sw.Close();
至于 如何 到 DataTable 中 你就再 查下资料 吧 ,简单的很。。
高手 我用一个button 一个textbox 一个dataGridView还有一个comboBox 外加openfiledialog,通过click事件把excel数据读出来了而且已经显示在datagridview里了,后面我就没有思路了,麻烦看下图片上的代码是否正确?(这字数不够。。。图片另存下来看得清的)是否已经将excel读到datatable了?然后怎么进行循环将excel单元格的数据有规律地写进xml呢?
因为是新手,语法真心不熟悉,能不能帮忙给具体一点了,拜托啊~~
唉,这哥们 ,上面的代码 已经很清楚了,你的 DataTable 也弄出来了。
你就把我上面给你写的代码 再 完善下就可以了。
或这 你就直接 复制下来 在 VS 里面 调试下 就可以了。。。
关键 逐行 把 每个 字段 对应的 值 给 写到 对应的 XML字符串 中。。。。。
谢谢兄弟~可以正确地输出xml了,最后一点小问题。
用sbxml.Append写入xml上下2条数据之间怎么进行换行的?
我现在输出的是一整条的
412320110327GGDERA52。。。
sbxml.AppendLine("")
这个函数可以添加一行记录,并在 结尾加上 换行符