我确定我错过了一些明显的东西。
一个简单的任务摆在我面前:“通过 ASP.NET 在表单页面上上传 Excel (2003) 文件,并将该文件的内容推送到 DataTable 以准备数据验证/存储”。
当应用于文件的本地存储版本时,这些操作已经可以正常工作 - 为此我只需使用OleDbConnection-ConnectionString "String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;", fileName)" 来自OleDbDataAdapter。
但是,尝试使用相同文件的上传版本(通过 FileUpload 控件)重复此操作,在我填充OleDbDataAdapter的行上,我收到错误 [ “Microsoft Jet 数据库引擎找不到对象“Sheet1$” . 确保对象存在并且您正确拼写了它的名称和路径名。” ] 一个如此普遍和痛苦的错误——我仍然不确定下一步该往哪里看。我猜连接字符串结构对于上传的文件是非法的。
我搜索了 StackOverflow 和 MSDN,甚至在网络上搜索,到目前为止都没有成功,但搜索词可能过于普遍。在尝试解析其内容之前,我是否需要实际找到一个本地存储库来保存上传的文件?我不能简单地构建到“内存中的文件”的连接吗?如果涉及到答案,预计上传的文件大小不会超过 200 kb。
真诚感谢您提供的任何帮助...