我正在寻找一种方法来阅读(写作也很好 - 虽然不是很关键)一个Excel文件。 我的意思是97-2003格式,因为MS提供了2007格式的OO XML工具包,我听说工具包很好。
到目前为止我所做的只是使用OleDB(Microsoft Jet),它有许多问题和缺点,甚至很难相信:)
我知道有很多免费的图书馆(即在Codeplex上),但他们使用的是OldeDb(所以他们遇到同样的问题)。
我发现的唯一一个但尚未尝试的是http://exceldatareader.codeplex.com/,它显然是对Excel文件的二进制读取。
我很想听听您对已使用或阅读过的图书馆的建议和推荐。
编辑:对不起,如果不是很明显,我的意思是.NET库。
答案 0 :(得分:2)
我不确定你的约束是什么,但如果我是你(这是经验谈话,相信我),我会避免使用Excel以外的任何东西阅读Excel文件。我的建议是,保持简单并坚持使用CSV。大多数库(包括xlrd
)仅支持Excel的基本功能(抱歉,没有图表或数据透视表),CSV也是如此。
答案 1 :(得分: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
答案 2 :(得分:1)
使用SSIS?如何使用Integration Services http://www.techrepublic.com/blog/datacenter/how-to-import-an-excel-file-into-sql-server-2005-using-integration-services/205将Excel文件导入SQL Server 2005中
开源? EPPPlus在服务器http://epplus.codeplex.com/上创建高级Excel 2007/2010电子表格
C#?如何使用C#How to import data from one column of Excel to listbox using C#将数据从一列Excel导入到列表框中
链接服务器:如何将Excel与SQL Server链接服务器和分布式查询一起使用http://support.microsoft.com/kb/306397
使用C#DataTable和SQL Server OpenXML函数批量插入数据http://www.codeproject.com/Articles/32581/Import-Data-from-Excel-to-SQL-Server
还有更多!!!
答案 3 :(得分:0)
我不知道你的情况是什么,但是如果你在机器上安装了excel,你可以通过OLE接口使用它。