【问题标题】:classic asp delete rows and columns from an excel file经典asp从excel文件中删除行和列
【发布时间】:2010-04-02 18:40:34
【问题描述】:

如何仅使用经典 ASP 从 excel 文件中删除特定的行和列?比如给定excel文件

col1 col2 col3 一二三 四五六

我希望能够以编程方式删除要生成的第一行和第二列

一三 四六

谢谢!

【问题讨论】:

  • 我还应该提到的一件事——excel文件不一定是一个很好的表格形式(不一定是标题后面跟着数据),所以例如顶部可能有空白行文件。据我所知,这排除了使用 Jet OLE DB 提供程序。

标签: asp-classic excel vbscript vba


【解决方案1】:

您可以尝试使用 Excel.Application 对象。例如:

dim oExcel, oWkBk  
set oExcel = CreateObject( "Excel.Application" )
oExcel.Visible = false
oExcel.DisplayAlerts = false
set oWkBk = oExcel.WorkBooks.Open( "C:\path\file.xls" )

然后您可以使用以下命令删除任何单个单元格:

oExcel.Cells( 1, 1 ).Delete

或整行/列:

oExcel.Cells(1,1).EntireColumn.Delete
oExcel.Cells(1,1).EntireRow.Delete

要检查单元格是否为空,请使用:

if isEmpty(oExcel.Cells(1,1)) then ...

最后,清理:

oWkBk.Close()
oExcel.Quit()
set oWkBk = nothing
set oExcel = nothing

如需更多信息,请尝试使用 Google 搜索“excel 应用程序对象 vbscript”之类的内容。你可以找到很多例子。不幸的是,我发现不可能找到完整的参考资料。

【讨论】:

  • 谢谢!我会试一试,希望它适用于我正在做的事情。我知道 Excel.Application 对象,但太糟糕了,网上没有完整的参考资料。再次感谢。
  • 不幸的是,我在创建 Excel.Application 时遇到了权限问题……然后我发现我们的服务器没有 Excel!无论如何,感谢您的帮助...我将不得不在更大的问题的背景下使用解决方法。
  • 是的,我确实遇到了同样的问题——但一直在避免解决它。如果您找到避免在每台服务器上安装 Excel 的方法,我很想听听!
猜你喜欢
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-30
  • 2015-07-02
相关资源
最近更新 更多