0

C#でエクセルツールを作りたいです。ツールは、フォルダー内のすべての Excel ドキュメントを開き、セル E1 で値を探す必要があります。検索した値がセルに保持されている場合、そのセルは削除され、ドキュメントが保存されます。次に、アプリケーションは次の Excel ファイルに進みます。

ドキュメントを開くことはできますが、セルの値を確認できません。

ここに私のコード:

using Microsoft.Office.Interop.Excel;

//Preparing the required items
Microsoft.Office.Interop.Excel.Application excel = null;
Workbook wb = null;

//Start Excel 
excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = false;

try
{
    //Open file
    wb = excel.Workbooks.Open(
        @"C:\Users\....",
        ExcelKonstanten.UpdateLinks.DontUpdate,
        ExcelKonstanten.ReadOnly,
        ExcelKonstanten.Format.Nothing,
        "", //Password
        "", //WriteResPasswort
        ExcelKonstanten.IgnoreReadOnlyRecommended,
        XlPlatform.xlWindows,
        "", //Separator
        ExcelKonstanten.Editable,
        ExcelKonstanten.DontNotifiy,
        ExcelKonstanten.Converter.Default,
        ExcelKonstanten.DontAddToMru,
        ExcelKonstanten.Local,
        ExcelKonstanten.CorruptLoad.NormalLoad);

    //Read sheets
    Sheets sheets = wb.Worksheets;

    //Select a sheet…
    Worksheet ws = (Worksheet)sheets.get_Item("Tabelle1");
    //…or a cell
    Range range = (Range)ws.get_Range("E", "1");
    //Read out the value
    string zellwert = range.Value2.ToString(); // <--- This is where I get the error!
    string zellwert = range.Value2; 
    Console.WriteLine(zellwert);
}
catch (Exception e)
{
    Console.WriteLine(e.Message);
}
finally
{
    wb.Close(false, null, null);
    excel.Quit();
}

Console.WriteLine("Prüfung abgeschlossen...");

このページで同じことを試します:

http://blog.stefan-macke.com/2006/06/28/c-projekt-zugriff-auf-excel-dateien/

4

1 に答える 1

2

コードをもう一度見てください。範囲を要求するときは、どのシェルから読みたいかを入力します。

例えば:

Range range = ( Range ) ws. get_Range ( "E1" , "E1" ) ;
于 2013-04-22T08:43:01.857 に答える