如何将 Excel 的多列导出为 CSV 或 TEXT
Posted
技术标签:
【中文标题】如何将 Excel 的多列导出为 CSV 或 TEXT【英文标题】:How to export multiple columns of Excel to CSV or TEXT 【发布时间】:2015-03-09 11:57:12 【问题描述】:按照我的问题Excel merge all columns with VBA
我尝试使用宏将超过 255 列和 2072 行移动到 1 列中,但不知何故 Excel 无法处理此问题并停止宏。由于缺乏资源,请在http://support.microsoft.com/kb/2655178 中进一步解释。这一定是一个错误,因为当我在某个列之后运行我的宏时,它会随机复制选定列的空单元格。让我无法删除行或撤消任何可能的方法,我不得不关闭 XLSM 工作表。
我试图通过将 XLSM 表从 MS Excel 2010 导入 MS Access 2010 来找到解决方法。不幸的是,MS Access 也有一个限制,不能导入超过 255 列!由于相同的 255 限制限制,我也未能将 XLSM 表与 MS 访问表链接。
注意:我的工作表不包含任何标题
现在我想将电子表格中的每一列保存或导出到文本文档(参见示例),以便以后通过拖放到 MS Access 或 php DB 或 Excel 中更轻松地导入它。
导出示例
column A ; column B ; column C; column D (etc. until column WC)
另存为
export0001.txt
export0002.txt
export0003.txt
export0004.txx
(etc.........)
export0999.txt
据我所知,没有内置的 Excel 命令或函数可以做我想做的事情。有一个我可以使用的 VBA 代码
Set NewBook = Workbooks.Add
Do
fName = Application.GetSaveAsFilename
Loop Until fName <> False
NewBook.SaveAs Filename:=fName
https://msdn.microsoft.com/en-us/library/office/ff841185.aspx
【问题讨论】:
OP 的自我回答中引用的跨站点重复:superuser.com/questions/541460/… 【参考方案1】:参考:https://superuser.com/questions/541460/export-office-excel-table-to-csv-using-a-macro
Sub ExportTable()
Dim wb As Workbook, wbNew As Workbook
Dim ws As Worksheet, wsNew As Worksheet
Dim wbNewName As String
Set wb = ThisWorkbook
Set ws = ActiveSheet
Set wbNew = Workbooks.Add
With wbNew
Set wsNew = wbNew.Sheets("Sheet1")
wbNewName = ws.ListObjects(1).Name
ws.ListObjects(1).Range.Copy
wsNew.Range("A1").PasteSpecial Paste:=xlPasteAll
.SaveAs Filename:=wb.Path & "\" & wbNewName & ".csv", _
FileFormat:=xlCSVMSDOS, CreateBackup:=False
End With
End Sub
【讨论】:
以上是关于如何将 Excel 的多列导出为 CSV 或 TEXT的主要内容,如果未能解决你的问题,请参考以下文章
如何将 JSON 导出为 CSV 或 Excel - Angular 2