0

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

1 回答 1

2

您给定的示例用于DataSet.ReadXml将 XML 文件转换为 DataSet,然后使用 DataSet 的名称 ( DataSet.DataSetName) 作为文件名,并使用表的名称 ( DataTable.TableName) 作为工作表名称。ReadXml根据 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 文件的内容:

    • 更改根节点以更改输出文件名。
    • 更改二级节点名称以更改工作表名称。
于 2013-04-23T04:53:39.250 回答