2012-03-22 2 views
0

シートを1枚だけ作成するにはどうすればよいですか?私がやったことはこれです:Microsoft.Office.Interop.Excelを使用してシートが多すぎるxlsファイルを作成する

public static void CreateExcel(string year) 
{ 
    Application xlApp = new Application(); 
    Workbook xlWorkBook; 
    Worksheet xlWorkSheet; 
    object misValue = System.Reflection.Missing.Value; 

    xlWorkBook = xlApp.Workbooks.Add(misValue); 
    xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.Item[1]; 
    xlWorkSheet.Name = year; 
    xlWorkSheet.Cells[1, 1] = "Share"; 
    xlWorkSheet.Cells[1, 2] = "Q1"; 
    xlWorkSheet.Cells[1, 3] = "Q2"; 
    xlWorkSheet.Cells[1, 4] = "Q3"; 
    xlWorkSheet.Cells[1, 5] = "Q4"; 

    xlWorkBook.SaveAs(@"H:\\QResults.xls", XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 
    xlWorkBook.Close(true, misValue, misValue); 
    xlApp.Quit(); 

    ReleaseObject(xlWorkSheet); 
    ReleaseObject(xlWorkBook); 
    ReleaseObject(xlApp); 
} 

そして、それは名前の最初のシートと3枚でXLSファイルを作成します。

+0

オフトピック:SaveAs()内のファイル名は、ファイルが "QResults.xls.xls"またはその他のタイプの末尾に追加されない限り拡張しないでください。 –

答えて

2

新しく作成されたワークブックには常に3枚のシートが含まれます。それらのインデックスとブックオブジェクトを使用して、他の2をプログラムで削除することができます。

+0

これはうまく機能しました。 –

関連する問題