我想询问有关用户可带来的离线表单格式的建议。完成后,他们会将文件上传到服务器,并从那里提取数据。
我们目前正在研究Word和Excel 2003,因为所有用户都在他们的计算机上使用它,但似乎在服务器上使用interops是值得避免的。
建议?
答案 0 :(得分:0)
可以在MS Excel中打开的CSV文件是易于编程的选项。它不是小鸡。
答案 1 :(得分:0)
我认为Excel就像胶带一样,它是解决所有数据问题的快速解决方案。您不需要excel组件来访问XLS / XLSX文件,只需使用OLEDB打开/读取文件即可。这很容易做到,你可以在网络应用程序中创建一个上传/处理工具来上传要在服务器上处理的文件。
示例代码(谷歌搜索结果的c / p):
String 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;
DataSet objDataset1 = new DataSet();
objAdapter1.Fill(objDataset1);
objConn.Close();
当我这样做时,我总是提供一个模板供用户使用。您可以创建一个具有LOCKED字段的模板,以防止数据进入错误的位置,并使用户专注于您希望他们完成的内容。
答案 2 :(得分:0)
在将数据存储在用户文件中时,CSV是一个非常安全的选择。您的用户将能够使用Excel打开它们,与从Word文档中读取相比,在服务器端解析它们非常令人愉快。我最近提出的问题How to serve a View as CSV in ASP.NET Web Forms可能对您有用,具体取决于您的实施情况。