我需要生成 Excel 格式的输出报告,并在处理完成后在屏幕上打开它。但在这种情况下,它不应将报告保存在驱动器上的任何位置,而只能在屏幕上打开。
我尝试使用 OLEDB 使用 ADO,但它总是在向其写入任何内容之前生成文件。这是我到目前为止所尝试的。
using (OleDbConnection con = new OleDbConnection(connString))
{
try
{
con.Open();
}
catch (InvalidOperationException invalidEx)
{
//Exception handling
}
// Create table for excel structure
StringBuilder strSQL = new StringBuilder();
strSQL.Append("CREATE TABLE [" + tableName + "]([TITLE] text,[SURNAME] text,[STATUS] text)");
// Define file columns
StringBuilder strfield = new StringBuilder();
strfield.Append("[TITLE],[SURNAME],[STATUS]");
OleDbCommand cmd = new OleDbCommand(strSQL.ToString(), con);
cmd.ExecuteNonQuery(); // This creates the table
//Actual row for creating and insering row - logic not shown completely
cmd.CommandText = strSQL.Append(" insert into [" + tableName + "]( ")
.Append(strfield.ToString())
.Append(") values (").Append(strvalue).Append(")").ToString();
success = cmd.ExecuteNonQuery();
但这总是首先创建我不想要的文件。请告知是否有人处理过类似的要求。谢谢。