1

我正在寻找一种方法来读取(写入也很好 - 虽然不是关键)Excel文件。我的意思是 97-2003 格式,因为 MS 为 2007 格式提供了 OO XML 工具包,我听说该工具包很好。

到目前为止我所做的只是使用了 OleDB (Microsoft Jet),它有很多问题和缺点,甚至难以置信:)

我知道有很多免费库(即在 Codeplex 上),但他们使用 OldeDb(所以他们遇到同样的问题)。
我发现但尚未尝试的唯一一个是http://exceldatareader.codeplex.com/,它显然对 Excel 文件进行二进制读取。

我很想听听您对您使用过或阅读过的图书馆的建议和推荐。

编辑:对不起,如果不是很明显,但我的意思是一个 .NET 库。

4

4 回答 4

2

我不确定你的限制是什么,但如果我是你(这是经验,相信我),我会避免阅读 Excel 文件以外的任何东西。我的建议是,保持简单并坚持使用 CSV。大多数库(xlrd包括在内)仅支持 Excel 的基本功能(抱歉,没有图表或数据透视表),CSV 也是如此。

于 2010-10-08T18:45:38.000 回答
1

你有特定的语言偏好吗?
如果您对 Python 感到满意,我会衷心推荐xlrd

它并没有比下面的代码示例容易得多;
它将在工作簿的工作表中搜索特定模式:

import re, xlrd

def re_search(fname, query):
    ''' iterate through sheets of workbook searching for `query` '''
    book = xlrd.open_workbook(fname) 
    for sheet in book.sheets(): 
        for rowx in xrange(sheet.nrows): 
            for colx in xrange(sheet.ncols): 
                cell = sheet.cell(rowx, colx) 
                if cell.ctype == xlrd.XL_CELL_TEXT and query.search(cell.value):
                    yield cell.value

if __name__ == '__main__':
    my_pattern = re.compile('[A-Z]{3} (.*)')

    for matched_re in xlresearch('my_xl_file.xls', my_pattern):
        print matched_re
于 2010-10-08T17:54:28.373 回答
1

使用 SSIS?如何使用集成服务将 Excel 文件导入 SQL Server 2005 http://www.techrepublic.com/blog/datacenter/how-to-import-an-excel-file-into-sql-server-2005-using-integration -services/205
开源?EPPPlus 在服务器上创建高级 Excel 2007/2010 电子表格http://epplus.codeplex.com/
C#? 如何使用 C#将数据从 Excel 的一列导入列表框 如何使用 C#
链接服务器将 Excel 的一列中的数据导入列表框:如何将 Excel 与 SQL Server 链接服务器和分布式查询一起使用http://support.microsoft.com /kb/306397
使用 C# DataTable 和 SQL 服务器 OpenXML 函数批量插入数据http://www.codeproject.com/Articles/32581/Import-Data-from-Excel-to-SQL-Server
等等!!!

于 2013-04-17T20:57:28.423 回答
0

我不知道你是什么情况,但是如果你的机器上安装了excel,你可以通过OLE界面使用它。

于 2010-10-10T16:02:10.317 回答