60

行2と列10で読み取る必要がある値を持つsheet1を含むExcelファイルがあります。これが私のコードです。

Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Sheets excelSheets = excelWorkbook.Worksheets;
string currentSheet = "Sheet1";
Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelSheets.get_Item(currentSheet);
var cell = (Excel.Range)excelWorksheet.Cells[10, 2];

Excel.Rangeであるセルオブジェクトを取得した後、そのセルの内容を読み取る方法がわかりません。配列に変換してループしてみたり、文字列配列などに変換してみたりと、とても簡単だと思います。文字列であるセル値を 1 つだけ取得する直接的な方法はありますか?

4

9 に答える 9

89

単一の値であるため、文字列 (文字列の配列ではなく) にキャストする必要があります。

var cellValue = (string)(excelWorksheet.Cells[10, 2] as Excel.Range).Value;
于 2013-09-24T23:27:18.770 に答える
8
 //THIS IS WORKING CODE                        
 Microsoft.Office.Interop.Excel.Range Range_Number,r2;
 Range_Number = wsheet.UsedRange.Find("smth");
 string f_number="";

 r2 = wsheet.Cells;

 int n_c = Range_Number.Column;
 int n_r = Range_Number.Row;
 var number = ((Range)r2[n_r + 1, n_c]).Value;

 f_number = (string)number;
于 2014-03-28T16:18:42.213 に答える
1

値を取得するには 2 つの方法があります

using xl = Microsoft.Office.Interop.Excel;

// 1. Using Cells with numbered reference
string cellValue = (excelWorksheet.Cells[10, 2] as xl.Range).Text.ToString();

// 2. Using Range with address reference
string cellValue = excelWorksheet.Range["J2"].Text.ToString();
于 2022-01-14T09:30:26.687 に答える