gpt4 book ai didi

excel - 仅将 Excel 中的可见单元格保存为 CSV

转载 作者:行者123 更新时间:2023-12-02 08:05:47 25 4
gpt4 key购买 nike

如何仅将 xls 的可见单元格保存为 CSV?我有一个大的 .xls 文件,我想将其提供给一些旧的 UNIX Perl 脚本。我有一些代码可以监视文件的修改、重新生成 CSV 文件并将它们通过 FTP 传输到我需要的位置。

维护电子表格的人不想删除旧数据(他们只是将其隐藏起来)。我保存到 CSV 的方法包含并排的所有隐藏数据,无法知道最初隐藏的内容。下面是我正在使用的代码;用作答案的起点将使我更容易理解:

VBScript

Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open("S:\NetowrkFolder\SpreadSheet.xls")
Dim oSheet

If oBook.Sheets.count = 1 Then
oBook.SaveAs "D:\output.csv", 6
else
i=1
aname=split("D:\output.csv",".",-1,1)
For Each oSheet In oBook.WorkSheets
fname = aname(0) & "_sheet" & Cstr(i)
oSheet.SaveAs fname, 6
i=i+1
Next
End If

oBook.Close True
oExcel.Quit
WScript.Quit

我实际上是在AutoIt中做这个项目,下面是AutoIt代码:

Local $oExcel = ObjCreate("Excel.Application")
Local $oBook = $oExcel.Workbooks.Open("Y:\NetworkLocation\File.xls")
Local $oWorkSheets = $oBook.WorkSheets
Local $i = 1
For $oSheet In $oWorkSheets
$oSheet.Auto
$oSheet.SaveAs(@ScriptDir & '\csv\Sheet' & $i & '.dat', 6)
$i += 1
Next
$oBook.Close(False)
$oExcel.Quit()

最佳答案

也许这太简单了,但它完成了您想要的工作:

Sub Macro1()
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="D:\DOCUMENTS\visible.csv", FileFormat:= _
xlCSV, CreateBackup:=False
End Sub

以上代码是使用宏记录器生成的。线索是我们仅选择工作表上的可见单元格,将其复制/粘贴到新工作簿中,然后将其另存为 CSV。原始数据仍然完好无损。其余代码很简单,也可以使用宏记录器生成。

有关更多想法,请参阅 SO 线程:How do I export only visible cells from Excel to CSV?

关于excel - 仅将 Excel 中的可见单元格保存为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15202862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com