0

ExcelシートからSQLテーブルにデータを挿入しています。 oledbConnection.GetSchema("Table_Name")並べ替えられた順序で Excel シート名を取得します。いくつかの操作を実行するために最初のシートを取得したいので、それらをソートしたくありません。これが私のコードスニペットです。

string con = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel +";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
            OleDbConnection cn = new OleDbConnection(con);
            cn.Open();

            DataTable sheetTable = cn.GetSchema("Tables");
            string strSHeetName = Convert.ToString(sheetTable.Rows[0]["TABLE_NAME"]);

どんな助けでも大歓迎です。

4

1 に答える 1

0

このコードを試してください、これは私にとってはうまくいきました...

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook excelBook = xlApp.Workbooks.Open(filePath); 
string[] excelSheets = new string[excelBook.Worksheets.Count];
int i = 0;
foreach(Microsoft.Office.Interop.Excel.Worksheet wSheet in excelBook.Worksheets)    
{
  excelSheets[i] = wSheet.Name;
  i++;
}

*「filePath」をファイルの場所のパスに置き換えます...

于 2014-11-06T04:12:29.343 に答える