如何使用c#.net将xml转换为excel表格

我使用下面的代码和它的工作。 但是每次创build一个同名的excel表。

有谁可以告诉我如何导出与XML表名称相同的Excel表单有吗?

private void button2_Click(object sender, EventArgs e) { MSDN.Sample.XMLToExcel.OpenXMLOffice objTest = new MSDN.Sample.XMLToExcel.OpenXMLOffice(); objTest.XMLToExcel(textBox14.Text); MessageBox.Show("Umpire Report Extracted successfully."); } 

您给出的示例使用DataSet.ReadXml将XML文件转换为DataSet,然后使用DataSet( DataSet.DataSetName )的名称作为文件名,并使用表名( DataTable.TableName )作为工作表名称。 ReadXml根据XML文件的内容select这些名称。 如果你想改变这种行为,你有两个select:

  1. 创build一个可以根据需要创buildExcel的方法:

    添加到OpenXMLOffice类:

     public void XMLToExcel(string strXMLPath, string outputFileName, string sheetName) { string strPath = Path.GetDirectoryName(strXMLPath); DataSet dsXML = new DataSet(); dsXML.ReadXml(strXMLPath); strPath = strPath + "\\" + outputFileName + ".xlsx"; DataTable tblXML = dsXML.Tables[0]; tblXML.TableName = sheetName; DataTableToFilePath(tblXML, strPath); } 

    并像这样调用它:

     var objTest = new MSDN.Sample.XMLToExcel.OpenXMLOffice(); objTest.XMLToExcel(textBox14.Text, "My Excel", "My Sheet"); 
  2. 更改XML文件的内容:

    • 更改根节点以更改输出文件名称。
    • 更改二级节点名称以更改工作表名称。