Excel 文件怎么读取数据 转化为自定义格式的XML文件

努力做个女程序员啊 2017-11-07 09:36:42
现有一个excel 表格要 转化为XML 文件 不知道从何开始写·?
求指导
...全文
371 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 alexshyong 的回复:
1楼发的链接是正解。下面我给你注释一下,再说一些中间你可以做的事情。 XmlDocument excelData = new XmlDocument();//定义xml文档 DataSet excelTableDataSet = new DataSet();//定义dataset StreamReader excelContent = new StreamReader(excelFilePath, System.Text.Encoding.Default);//定义读取数据流 string stringConnectToExcelFile = string.Format("provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended Properties="Excel 12.0;""); System.Data.OleDb.OleDbConnection oleConnectionToExcelFile = new System.Data.OleDb.OleDbConnection(stringConnectToExcelFile);//定义文件路径 System.Data.OleDb.OleDbDataAdapter oleDataAdapterForGetExcelTable = new System.Data.OleDb.OleDbDataAdapter(string.Format("select * from [Sheet 1$]"), oleConnectionToExcelFile); try { oleDataAdapterForGetExcelTable.Fill(excelTableDataSet);//读取excel文件到dataset } catch { return null; } string excelOutputXml = Path.GetTempFileName();//创建磁盘上唯一命名的路径 excelTableDataSet.WriteXml(excelOutputXml);//将dataset中的文件写入到xml文件中 excelData.Load(excelOutputXml); File.Delete(excelOutputXml);//删除excel文档 注意,其实在获取dataset以后,你可以考虑依据dataset中的datatable进行处理,如Datatable dt1= dataset.table[0];然后处理这个datatable及其中的某一行某一列,或者将Datatable的内容写入到xml中,如Datatable.WriteXml(stringfilepath)
怎么讲读取的数据写入特殊格式的xml 文件呢?
jiuzaizuotian2014 2017-11-08
  • 打赏
  • 举报
回复
excel如果是xlsx格式的,本身就是xml格式了。就是要把openxml格式转换为自定义格式,可以用open xml sdk去读取数据,然后按照自定义格式重新存入
帅猪儿 2017-11-08
  • 打赏
  • 举报
回复
1楼发的链接是正解。下面我给你注释一下,再说一些中间你可以做的事情。 XmlDocument excelData = new XmlDocument();//定义xml文档 DataSet excelTableDataSet = new DataSet();//定义dataset StreamReader excelContent = new StreamReader(excelFilePath, System.Text.Encoding.Default);//定义读取数据流 string stringConnectToExcelFile = string.Format("provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended Properties="Excel 12.0;""); System.Data.OleDb.OleDbConnection oleConnectionToExcelFile = new System.Data.OleDb.OleDbConnection(stringConnectToExcelFile);//定义文件路径 System.Data.OleDb.OleDbDataAdapter oleDataAdapterForGetExcelTable = new System.Data.OleDb.OleDbDataAdapter(string.Format("select * from [Sheet 1$]"), oleConnectionToExcelFile); try { oleDataAdapterForGetExcelTable.Fill(excelTableDataSet);//读取excel文件到dataset } catch { return null; } string excelOutputXml = Path.GetTempFileName();//创建磁盘上唯一命名的路径 excelTableDataSet.WriteXml(excelOutputXml);//将dataset中的文件写入到xml文件中 excelData.Load(excelOutputXml); File.Delete(excelOutputXml);//删除excel文档 注意,其实在获取dataset以后,你可以考虑依据dataset中的datatable进行处理,如Datatable dt1= dataset.table[0];然后处理这个datatable及其中的某一行某一列,或者将Datatable的内容写入到xml中,如Datatable.WriteXml(stringfilepath)
  • 打赏
  • 举报
回复
excel本身就是数据源,可以通过ado.net的方式读取,也可以通过第三方类库直接操作,读取出来后就会数据集合转化成xml,这个就是序列化的事情了
chi742658817 2017-11-08
  • 打赏
  • 举报
回复
https://www.cnblogs.com/oilsun/archive/2012/07/07/2580431.html

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧