如何使用c#.net将xml转换为同名的excel表

时间:2013-04-23 04:12:29

标签: c# .net excel openxml

我使用以下代码及其工作。但每次创建一个同名的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.");
    }

1 个答案:

答案 0 :(得分:2)

您的给定示例使用DataSet.ReadXml将XML文件转换为DataSet,然后使用DataSet的名称(DataSet.DataSetName)作为文件名,以及表的名称({{ 3}})作为工作表名称。 DataTable.TableName根据XML文件的内容选择这些名称。如果要更改该行为,您有两种选择:

  1. 创建一个根据需要创建Excel的方法:

    将此添加到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文件的内容:

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