无法打开由c#创建的excell表单
问题描述:
我在creating simple excel sheet in c# with strings as input链接的帮助下创建了一个excel表单。当我们打开保存的excel表单时,它会显示消息框,如"excel found unreadable content in "sample.xls". Do you want to recover the contents of this workbook? If you trust the source of this workbook, Click Yes"
。我可以知道它是如何显示的吗?我的示例代码无法打开由c#创建的excell表单
protected void Button1_Click(object sender, EventArgs e)
{
//Create the data set and table
DataSet ds = new DataSet("New_DataSet");
DataTable dt = new DataTable("New_DataTable");
//Set the locale for each
ds.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
dt.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
//Create a query and fill the data table with the data from the DB
SqlConnection conn= new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString);
SqlCommand cmd =new SqlCommand ("SELECT Name,EmpCode FROM EmpDetails where EmpCode='"+Neena102+"'",conn);
// dr = conn.query(str);
SqlDataAdapter adr = new SqlDataAdapter();
adr.SelectCommand = cmd;
adr.Fill(dt);
//Add the table to the data set
ds.Tables.Add(dt);
var rows = ds.Tables[0].Rows;
foreach (DataRow row in rows)
{
string name=Convert.ToString(row["Name"]);
//Here's the easy part. Create the Excel worksheet from the data set
ExcelLibrary.DataSetHelper.CreateWorkbook(@"F:\\reports\\"+name+".xls", ds);
System.Diagnostics.Process.Start(@"F:\\reports\\" + name + ".xls");
}
}
答
请尝试以下变化。
进程startExcel = System.Diagnostics.Process.Start(@“F:\ reports \”+ name +“.xls”); startExcel.WaitForExit();
您应该使用SQL参数来防止SQL注入。 – Sybren 2014-12-03 07:06:59
@Sybren,如果使用SQL参数我可以解决这个问题吗? – 2014-12-03 07:08:31
不,但它是阻止SQL注入的重要节点。 – Sybren 2014-12-03 07:09:36