【发布时间】:2010-04-06 03:43:43
【问题描述】:
我想请教用户可以携带的离线表单格式的建议。完成后,他们会将文件上传到服务器并从中提取数据。
我们目前正在研究 Word 和 Excel 2003,因为所有用户都在他们的计算机上使用它,但似乎要避免在服务器上使用互操作。
建议?
【问题讨论】:
标签: c# asp.net visual-studio-2008
我想请教用户可以携带的离线表单格式的建议。完成后,他们会将文件上传到服务器并从中提取数据。
我们目前正在研究 Word 和 Excel 2003,因为所有用户都在他们的计算机上使用它,但似乎要避免在服务器上使用互操作。
建议?
【问题讨论】:
标签: c# asp.net visual-studio-2008
我认为 Excel 就像胶带一样,它是所有数据问题的快速解决方案。您不需要 excel 组件来访问 XLS/XLSX 文件,您只需要使用 OLEDB 来打开/读取文件。这真的很容易做到,您可以在网络应用程序中创建一个上传/处理工具来上传要在服务器上处理的文件。
示例代码(谷歌搜索结果的 c/p):
字符串 sConnectionString = “提供者=Microsoft.Jet.OLEDB.4.0;” + "数据源=" + [您的 Excel 文件名] + ";" + "扩展属性=Excel 8.0;";
OleDbConnection objConn = new OleDbConnection(sConnectionString);
objConn.Open();
OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
数据集 objDataset1 = new DataSet();
objAdapter1.Fill(objDataset1);
objConn.Close();
当我这样做时,我总是提供一个模板供用户使用。您可以创建一个包含 LOCKED 字段的模板,以防止数据进入错误的位置并让用户专注于您希望他们完成的工作。
【讨论】:
可以在 MS Excel 中打开的 CSV 文件是易于编程的选项。不过它不是小鸡。
【讨论】:
在为用户存储文件中的数据时,CSV 是一个非常安全的选择。您的用户将能够使用 Excel 打开它们,并且与从 Word 文档中读取相比,在服务器端解析它们是非常愉快的。我最近的问题How to serve a View as CSV in ASP.NET Web Forms 可能对您有用,具体取决于您的实施。
【讨论】: