1

こんにちは、新しいExcelファイルのソースとして使用したいExcelファイルがあります。すべてのシートをコピーできる例をいくつか見ましたが、ソースファイルから選択したシートのみをコピーして新しいファイルを作成したいという問題があります選択したシート。たとえば、メイン テーブルにシート x、y、z、c、f、g があり、ユーザーが z、f、gi を選択すると、これら 3 つだけが選択され、新しい .xlsx ファイルが作成され、そこに配置されます。 c#? 前もって感謝します

4

2 に答える 2

1

たとえば、VBAで選択したシートをコピーできます。以下では、選択したシートを使用して新しいワークブックを作成します。

Sheets(Array("Sheet1", "Sheet3", "Sheet4")).Copy

C#では、次のように同じことができます

    private void button1_Click(object sender, EventArgs e)
    {
        Excel.Application xlexcel;
        Excel.Workbook xlWorkBook;
        Excel.Sheets worksheets;

        object misValue = System.Reflection.Missing.Value;

        xlexcel = new Excel.Application();

        xlexcel.Visible = true;

        //~~> Open a File
        xlWorkBook = xlexcel.Workbooks.Open("C:\\Sample.xlsx", 0, true, 5, "", "", true,
        Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

        //~~> Specify the sheets you want to copy
        String[] selectedSheets = { "a", "c", "d" };

        //~~> Set your worksheets
        worksheets = xlWorkBook.Worksheets;

        //~~>Copy it. This will create a new Excel file with selected sheets
        ((Excel.Sheets)worksheets.get_Item(selectedSheets)).Copy();

    }

スクリーンショット

ここに画像の説明を入力してください

于 2013-01-22T08:20:47.407 に答える
-2

はい、コマンドプロンプトでコピーコマンドを使用して、多くのExcelシートから単一のシートにファイルをコピーできます。コマンドはc:/ファイルコピー元ファイル宛先ファイルのパスです

ありがとう

于 2013-01-22T08:00:58.520 に答える