如何将 Excel 电子表格保存为分号分隔值文件?

Kam*_*i81 34 microsoft-excel

我正在运行 excel 并希望将我的文件导出为 .scsv(分号分隔值)表而不是 .csv。有没有办法做到这一点?

附:我不能做一个 .csv 并用分号搜索和替换逗号,因为这些字段已经包含逗号。

Rob*_*ert 23

如何使用制表符分隔并用分号替换制表符?

在excel中:文件->另存为->在格式中选择“制表符分隔文本(.txt)”然后保存。

在记事本中打开文件并打开替换窗口。由于您无法直接进入此窗口,因此请从文档中复制一个选项卡,然后将其粘贴到“查找”框中并将您的 ; 进入更换箱。然后全部更换。

我认为这会起作用,因为在 excel 文档中很少有选项卡。


wmz*_*wmz 9

我认为您不能直接在 Excel 中设置输出分隔符,但是(假设是 Windows)您可以将操作系统列表分隔符更改为;- 这是在Regional Settings->Customize. Excel 将使用该设置输出您的 csv 文件。

  • 重要说明:如果您这样做,所有使用国际化 Windows 库的 Windows 程序都将假定;是所有 CSV 文件的分隔符。如果这是一次性解决方案,保存常规 CSV 文件并使用编辑器将逗号更改为分号可能更有意义 (6认同)

nau*_*101 9

使用LibreOffice Calc(免费下载,适用于所有主要操作系统)。

保存为分号分隔值:

  1. 打开您的 xlsx/csv 文件
  2. 文件 -> 另存为...
  3. 选择“Filter CSV”作为过滤器(如果您的文件名以 结尾,则应为默认值.csv
  4. 勾选“编辑过滤器设置”,然后按保存
  5. 当它要求确认文件格式时,按“使用文本 CSV 格式”
  6. 将“字段分隔符”更改为分号(您可以在此处输入任何内容)。
  7. 按确定。

LO Calc 将正确处理单元格值中的逗号和分号。


小智 5

如果您需要脚本,请将以下内容粘贴到模块中。

Option Explicit
Sub export2scsv()
    Dim lastColumn As Integer
    Dim lastRow As Integer
    Dim strString As String
    Dim i As Integer, j As Integer

    lastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
    lastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row

    Open "output.scsv" For Output As #1

    For i = 1 To lastRow
        Cells(i, 1).Select
        strString = ""
        For j = 1 To lastColumn
            If j <> lastColumn Then
                strString = strString & Cells(i, j).Value & ";" ' Use semicolon instead of pipe.
            Else
                strString = strString & Cells(i, j).Value
            End If
        Next j
        Print #1, strString
    Next i

    Close #1
End Sub
Run Code Online (Sandbox Code Playgroud)