Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用c#.net将xml转换为同名excel工作表_C#_.net_Excel_Openxml - Fatal编程技术网

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

如何使用c#.net将xml转换为同名excel工作表,c#,.net,excel,openxml,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.XMLT

我使用以下代码及其工作原理。但每次它都会创建一个同名的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.");
    }
给定的示例使用将XML文件转换为数据集,然后使用数据集的名称()作为文件名,使用表的名称()作为工作表名。根据XML文件的内容选择这些名称。如果要更改该行为,有两个选项:

  • 创建一个按需创建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");
    
  • 更改XML文件的内容:

    • 更改根节点以更改输出文件名
    • 更改第二级节点名称以更改图纸名称

  • 我完全不明白你的问题。请修改它。看看是否有帮助。@shrrangwyawahare如果答案对你有帮助,你应该把它标记为接受答案。这样你(和我)就赢得了声誉,也帮助了其他有同样问题的人。请阅读更多信息。