C#将数据保存到Excel时,数据需要保持原来的类型,而不是简单的分为数字和文本将数据保存。
public static bool SaveByOLEDB(DataTable dt, string path)
{
bool success = true;
string connStr = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + path + ";Extended Properties=Excel 8.0;";//仅支持2003格式的Excel
OleDbConnection conn = new OleDbConnection(connStr);
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
try
{
conn.Open();
string cmdText = "Create Table sheet1 (";
for(int i = 0; i < dt.Columns.Count; i++)
{
string columnName = dt.Columns[i].ColumnName;
cmdText += " "+ columnName;
string typeName =GetExcelMapDataType(dt.Columns[i].DataType.Name);
cmdTe