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) をシート名として使用します。ReadXmlXML ファイルの内容に基づいてそれらの名前を選択します。その動作を変更したい場合は、次の 2 つのオプションがあります。

  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 ファイルの内容を変更します。

    • ルート ノードを変更して、出力ファイル名を変更します。
    • シート名を変更するには、第 2 レベルのノード名を変更します。
于 2013-04-23T04:53:39.250 に答える