string workbookPath = filePath;
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
int rCnt = 0;
int cCnt = 0;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(workbookPath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
range = xlWorkSheet.UsedRange;
int rowCount = range.Rows.Count;
int columnCount = range.Columns.Count;
string[][] myArray = new string[rowCount][];
for (rCnt = 1; rCnt < rowCount; rCnt++)
{
myArray[rCnt] = new string[columnCount];
for (cCnt = 1; cCnt < columnCount; cCnt++)
{
object str = (range.Cells[rCnt, cCnt] as Excel.Range).get_Value();
-----> myArray[rCnt][cCnt] = str == null ? string.Empty : str.ToString();
}
}
xlWorkBook.Close(true, null, null);
xlApp.Quit();
return myArray;
以上是将excel文件上传到sql数据库的代码。本质上,当我传递 ----> 上面的 rCnt 和 cCnt 变量时……行数每次增加一次,列数增加两次……我希望列数增加到 3,或者有很多可用的列。
这样做的原因可能是在 excel csv 的第一行 - 单元格中没有任何内容 - 但是,在第 4-5 行中,第 3 列中有数据。
谁能看看我错过了什么?
任何问题/帮助将不胜感激。