奇怪的OLEDB Excel导出问题
问题描述:
我已经编写了一个程序来使用OLEDB在C#中生成Excel工作簿。大多数工作,但我注意到的一件事是,如果我只输出1列,它会在标题后留下一个空行。奇怪的OLEDB Excel导出问题
任何想法?
答
下面是我正在使用的一些示例代码,但我没有看到问题。我正在创建一个新的工作簿/电子表格,然后只填充一行和一列。
你可以发布你的代码,我们可以看到有什么不同吗?
static void Main(string[] args)
{
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\SOTest2.xls;Extended Properties=""Excel 8.0;HDR=NO;""";
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.OleDb");
using (DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = connectionString;
using (DbCommand command = connection.CreateCommand())
{
connection.Open(); //open the connection
command.CommandText = "CREATE TABLE [Sheet1] (F1 number);";
command.ExecuteNonQuery(); //create the sheet before doing any inserts
command.CommandText = "INSERT INTO [Sheet1$] (F1) VALUES(4)";
command.ExecuteNonQuery(); //now insert a row into the sheet
}
}
}
我还没有看到一个空行,如果我将单行多列:
command.CommandText = "CREATE TABLE [Sheet1] (F1 number, F2 char(255), F3 char(128))";
command.ExecuteNonQuery(); //create the sheet before doing any inserts
command.CommandText = "INSERT INTO [Sheet1$] (F1, F2, F3) VALUES(4,\"Tampa\",\"Florida\")";
command.ExecuteNonQuery(); //now insert a row into the sheet
希望这有助于!