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

努力做个女程序员啊 2017-11-07 09:36:42
现有一个excel 表格要 转化为XML 文件 不知道从何开始写·?
求指导
...全文
258 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
引用 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 文件呢?
  • 打赏
  • 举报
回复
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
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-11-07 09:36
社区公告

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