Excel Automation for Business解决方案和服务器端处理

时间:2010-03-02 08:08:30

标签: xml excel server-side

我们公司有数千个Excel文件,其中每个Excel文件描述一个IPVPN网络。此Excel文件采用单一格式,可保存联系信息,站点详细信息,路由器规格,主/备份链接特定详细信息,VRF等数据。

格式有时会改变,我们不得不专门为少数人手动将数据从一种格式传输到另一种格式。

我希望获得有关如何自动执行此过程的建议。 Jargons并不担心。如果您能够逐步提供解决此问题的高级方法,那就更好了。

此外,还有一个具体问题:

如果Excel工作表混合了数据,那么XML Mapping可以工作吗?工作表不包含一个漂亮的表,但是这里和那里只有很少的rowpans和colspans。

感谢。

3 个答案:

答案 0 :(得分:0)

使用powershell。我不是附近安装了PowerShell的盒子(它附带Win7,必须安装它用于XP,Vista,Server ....),但它是这样的(从我找到的第一个msdn博客中偷来的) :
  http://blogs.technet.com/heyscriptingguy/archive/2009/01/13/how-do-i-run-an-office-excel-macro-on-multiple-workbooks.aspx

$excel = new-object -comobject excel.application
$excelFiles = Get-ChildItem -Path C:\fso -Include *.xls, *.xlsm -Recurse
Foreach($file in $excelFiles)
{
 $workbook = $excel.workbooks.open($file.fullname)
 $worksheet = $workbook.worksheets.item(1)
 $excel.Run("CreateChart")
 $workbook.save()
 $workbook.close()
}
$excel.quit()

答案 1 :(得分:0)

您没有提到格式改变的方式,但是使用VBA更新从各种目录(FileSystemObject将获取文件)获得的一系列工作簿并不困难。如果是操纵列的问题,ADO可能是最好的选择。

答案 2 :(得分:0)

以下是Microsoft关于使用COM在服务器上自动化Excel的说法(请参阅this article):

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为在此环境中运行Office时,Office可能会出现不稳定的行为和/或死锁。

SpreadsheetGear for .NET有一个类似于Excel的API。您可以看到一些实时ASP.NET样本here并下载免费试用版here

免责声明:我拥有SpreadsheetGear LLC