我想将sample.xlsx
(包含 3 张)文件拆分为 3 个不同的
sheet1.xlsx sheet2.xlsx sheet3.xlsx
文件,
我有 约翰·麦克纳马拉Perl 软件包存储库版本 = 2.37。
我正在添加解析 Excel 文件的示例代码
#!/usr/bin/perl
# Xls Parser : command : perl
BEGIN {
push (@INC,"/usr/local/buildpkgs/latest/perl");
}
use lib "/usr/local/buildpkgs/latest/perl/lib/site_perl/5.8.8";
use lib "/depot/perl-5.8.9/lib/site_perl/5.8.9";
use lib "/usr/local/buildpkgs/rev9/perl/ExcelWriter/lib/site_perl/5.8.3";
use Excel::Writer::XLSX;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseXLSX;
use Spreadsheet::WriteExcel;
use Spreadsheet::WriteExcel::Utility;
PS:这sample.xlsx
不是 CSV 文件。
答案1
你可以运行这段代码,
Sub SaveSheets()
Dim strPath As String
Dim ws As Worksheet
Application.ScreenUpdating = False
strPath = ActiveWorkbook.Path & "\"
For Each ws In ThisWorkbook.Sheets
ws.Copy
'Use this line if you want to break any links:
BreakLinks Workbooks(Workbooks.Count)
Workbooks(Workbooks.Count).Close True, strPath & ws.Name & ".xlsx"
Next
Application.ScreenUpdating = True
End Sub
Sub BreakLinks(wb As Workbook)
Dim lnk As Variant
For Each lnk In wb.LinkSources(xlExcelLinks)
wb.BreakLink lnk, xlLinkTypeExcelLinks
Next
End Sub
要运行代码,请执行以下操作:
- 打开 VBA 编辑器 ( Alt+ F11)
- 在左上角的树中,右键单击您的工作簿并插入一个新模块
- 将上面的代码复制到这个模块中
- 关闭 VBA 编辑器
- 在 Excel 中按Alt+F8运行宏并选择
SaveSheets
如需更多帮助添加VBA。