这个问题现在是有点老了,但下面的是我如何回答另一个相似的问题:
这是不漂亮,但它是我发现创建具有什么也没有新的工作表的唯一途径。我发现的唯一问题是,Oledb会自动在CREATE命令中指定的标题单元格上创建一个命名范围,但假设你不关心这个问题,那么这应该可以正常工作。
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName +
";Mode=ReadWrite;Extended Properties=\"Excel 8.0;HDR=NO\"";
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
using (OleDbCommand cmd = new OleDbCommand())
{
cmd.Connection = conn;
cmd.CommandText = "CREATE TABLE [MySheet] (a string)"; // Doesn't matter what the field is called
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [MySheet$] SET F1 = \"\"";
cmd.ExecuteNonQuery();
}
conn.Close();
}
的可能重复的[OLEDB&混合Excel中的数据类型:缺失数据](http://stackoverflow.com/questions/3232281/oledb-mixed-excel-datatypes-missing-data) – 2014-09-03 11:11:12