我要求使用Excel作为数据库的组织进行一些合同工作,并希望通过真实数据库对Excel数据进行一些处理.(是的,我知道,没关系......)
客户有一张Excel表,他们在内部使用这些表来跟踪一些政府计划.此Excel工作表中的数据曾经通过CSV作为中间格式手动导入SQL数据库,并通过一个小型Web应用程序提供.电子表格或数据库中的更改是手动完成的(由不同的人员完成),并且必须手动保持同步.
新功能的规范包括:
将Excel文件上传到Web应用程序
通过网络应用程序进行微小的更改(当然,这一点很简单)
偶尔将数据导出回Excel
电子表格(实际上,它是工作簿中的几个)实现了与其他机构交互所必需的一些准则,因此在导入之前和之后必须保持结构相同.它包含大量格式,隐藏列和排序按钮以及不同工作表中单元格之间的大量数据链接.
我不想从头开始重现电子表格以提供导出,也不想在导入之前手动将正确的列提取到CSV中.我正在寻找一种加载Excel的方法,"查询"某些字段,将它们写入数据库,然后从数据库加载数据并仅操作正确单元格的内容.
有没有办法以编程方式与现有电子表格连接,只读取或更改您需要的位?
Excel是一个"COM功能应用程序",因此您可以使用COM访问和操作Excel文档中的数据.你没有说你正在使用什么平台 - 但如果它是.NET那么它真的很容易.有关如何开始使用C#的信息,请参见http://support.microsoft.com/kb/302084.
如果您没有使用.net,那么任何可以与COM组件交互的语言都可以使用.