excelからdatatableにシートを取得する必要があります。私はまずLinqToExcelライブラリで試しましたが、これはエクセルシートから大きな数字を指数関数的な数値として取り出しました。私は "2352143523453452334544"のような大きな数字について話しています。テキストとして整形されている場合にのみ、正常に動作します。 その後、私はこれを試してみた:Excel to dataTable
OleDbConnection con = null;
System.Data.DataTable dt = null;
System.Data.DataTable dataTable1 = new System.Data.DataTable();
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + UploadFileName + ";Extended Properties=Excel 8.0;";
string sql_xls;
con = new OleDbConnection(conStr);
con.Open();
//OracleDataAdapter oda = new OracleDataAdapter();
//OracleCommand cmd = new OracleCommand("select * from [Sheet1$]", con);
dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string[] excelSheetNames = new string[dt.Rows.Count];
int i = 0;
foreach (System.Data.DataRow row in dt.Rows)
{
excelSheetNames[i] = row["TABLE_NAME"].ToString(); i++;
}
sql_xls = "SELECT * FROM [" + excelSheetNames[0] + "]";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql_xls, conStr);
System.Data.DataSet myDataSet = new System.Data.DataSet();
dataAdapter.Fill(myDataSet, "ExcelInfo");
dataTable1 = myDataSet.Tables["ExcelInfo"];
この1つはヌルと同じ条件で同じ値を返しました。 Excelファイルからデータを取り出す簡単な方法はありませんか?コンバージョンも何もないそれを文字列としてすべて取り、それをデータテーブルに入れますか?
は、CSV形式にエクスポートするようにしてください。 – jcubic