2010-04-06 32 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可能對您有用,具體取決於您的實施。