我将保存在服务器文件夹中的模板excel文件复制到具有不同名称的同一文件夹中。插入值..我能够复制文件,但当我尝试插入值显示表格!$找不到。我已经给出了正确的工作表名称。只有一张工作表被添加到名为sheet1.still的电子表格中它显示错误。我的代码如下所示。关于这个错误的想法。我用谷歌搜索但是要我检查文件夹和工作表名称..只是正确的..请帮助我
string xxx = "~/temp/" + "Tempfile" + dunsno + DateTime.Today.ToString("dd.MM.yyyy") + ".xlsx";
DirectoryInfo directoryInfo = new DirectoryInfo(Server.MapPath("~/temp/"));
var fileList = directoryInfo.GetFiles();
string newFileName = Server.MapPath("~/temp/" + "Tempfile" + dunsno + DateTime.Today.ToString("dd.MM.yyyy") + ".xlsx");
foreach (FileInfo fleInfo in fileList
{
fleInfo.CopyTo(newFileName, true);
}
string connStr = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=xxx;Extended Properties=""Excel 12.0 Xml;HDR=YES""");
OleDbConnection MyConnection;
OleDbCommand MyCommand = new OleDbCommand();
MyConnection = new OleDbConnection(@connStr);
MyConnection.Open();
MyCommand.Connection = MyConnection;
string sql = "Insert into [Sheet1$] (id,name) values('3','c')";
MyCommand.CommandText = sql;
MyCommand.ExecuteNonQuery();
MyConnection.Close();
答案 0 :(得分:3)
替换:
string connStr = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=xxx;Extended Properties=""Excel 12.0 Xml;HDR=YES""");
与
string connStr = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES""", newFileName);
答案 1 :(得分:0)
如果仍然出现以下错误,则“ Microsoft Access数据库引擎找不到对象...”,然后是您尝试读取数据的工作表名称,然后尝试[sheetname $]。