2010-04-06 35 views
0

我想问一个用户可以带来的离线表格格式的建议。完成后,他们会将文件上传到服务器,并从中提取数据。建议离线表格格式

我们目前正在查看Word和Excel 2003,因为所有用户都在自己的机器上安装了它,但似乎在服务器上使用interop是一件可以避免的事情。

对此提出建议?

回答

0

我认为Excel就像管道磁带一样,它是所有数据问题的快速解决方案。您不需要使用Excel组件来访问XLS/XLSX文件,只需使用OLEDB打开/读取文件即可。这非常容易,您可以在Web应用程序中创建上传/处理工具,以上传要在服务器上处理的文件。

示例代码(为谷歌的结果C/P):

字符串sConnectionString = “提供者= Microsoft.Jet.OLEDB.4.0;” + “Data Source =”+ [您的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字段的模板,以防止数据进入错误的地方,并使用户专注于您希望完成的任务。

+0

是的,我同意这是一种简单的读写数据源的方式。所以你对此有一个很好的答案。但是,这对于任何过于复杂的情况都不是理想的。 :) – Blithe 2010-04-06 09:13:08

0

可以在MS Excel中打开的CSV文件是易于编程的选项。它不是小鸡。

0

当涉及到为用户存储数据文件时,CSV是一个非常安全的选择。您的用户将能够使用Excel打开它们,与从Word文档读取相比,在服务器端解析它们相当令人愉快。我最近的问题How to serve a View as CSV in ASP.NET Web Forms可能对您有用,具体取决于您的实施。