`

将Excel里所有的Sheet页同时另存为单独的UTF8编码的CSV文件

    博客分类:
  • VBA
阅读更多

结合前两篇高手代码,拼出以下代码:

Public Sub WriteCSV()
Dim sheet_name, bookPath, fileName As String
Dim sheet_count,i As Integer
sheet_count = Sheets.Count
bookPath = ThisWorkbook.Path
   bookPath = bookPath + "\TEMP\"
    '判断文件目录是否存在
   If Dir(bookPath, 16) = Empty Then
    MkDir bookPath
   Else
    Kill bookPath & "\*.*"
   End If
For i = 1 To sheet_count

    sheet_name = Sheets(i).Name
    Sheets(sheet_name).Select
	'设置活动窗口为当前
	Set wkb = ActiveSheet
    fileName = bookPath + sheet_name + ".csv"

    On Error GoTo eh
    Const adTypeText = 2
    Const adSaveCreateOverWrite = 2

    Dim BinaryStream
    Set BinaryStream = CreateObject("ADODB.Stream")
    BinaryStream.Charset = "UTF-8"
    BinaryStream.Type = adTypeText
    BinaryStream.Open

    For r = 1 To wkb.UsedRange.Rows.Count
    s = ""
    c = 1
	While c <= wkb.UsedRange.Columns.Count
	If c < wkb.UsedRange.Columns.Count Then
     s = s & wkb.Cells(r, c).Value & ","
	Else
	 s = s & wkb.Cells(r, c).Value
	End if
    c = c + 1
    Wend
    BinaryStream.WriteText s, 1
    Next r

    BinaryStream.SaveToFile fileName, adSaveCreateOverWrite
    BinaryStream.Close
eh:
Next
Sheets(1).Select
MsgBox "CSV generated successfully"
End Sub
完美运行
分享到:
评论

相关推荐

    VBA一键sheet页另存为Excel

    VBA一键sheet页另存为Excel,批量拆分Excel sheet页为单个文档。

    excel的sheet另存为excel文件。

    指定excel的sheet另存为excel输出到指定的文件夹。 可以快速按固定的模版格式产生独立数据的报表。

    excel中的多个sheet自动另存为以sheet名称命名的excel文件

    在Excel中,有时我们需要将一个工作簿中的多个Sheet单独保存为各自独立的Excel文件,这样可以便于管理和分享各个独立的工作内容。本主题介绍如何通过编程实现这一功能,具体以Delphi语言为例,结合提供的源码进行...

    excel中的多个sheet自动另存为以sheet名称命名的excel文件(可执行文件)

    excel中的多个sheet自动另存为以sheet名称命名的excel文件,用delphi开发,含源码。

    如何把页面数据另存为EXCEL,并且可以分多SHEET存放的方法

    总结来说,将网页数据另存为Excel并分Sheet存储涉及的关键技术包括:网页抓取(如BeautifulSoup或Scrapy)、数据处理(如数据清洗、转化)、数据结构(如DataFrame)以及Excel文件生成(如pandas和XML操作)。...

    解析excel另存为部分数据

    "解析Excel另存为部分数据"这一主题涉及到了如何读取Excel文件中的特定数据,并将其保存到新的Excel文件中。在这个过程中,我们通常会用到Java编程语言中的库,如Apache POI,它提供了强大的API来操作Microsoft ...

    Winform中使用NPOI实现导出Excel并文件另存为示例代码.zip

    saveFileDialog.Filter = "Excel 文件 (*.xls)|*.xls|所有文件 (*.*)|*.*"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { string filePath = saveFileDialog.FileName; // 创建工作簿 ...

    Csv文件快速转Excel文件 C#

    本教程将详细讲解如何在C#中使用OpenCSV库快速地将CSV文件转换为Excel文件。 首先,我们需要了解OpenCSV,这是一个开源的C#库,专门用于读写CSV文件。它提供了简单易用的API,使得在C#项目中处理CSV文件变得轻松。...

    读取Excel格式CSV格式文件

    本文将深入探讨如何在Java环境中读取Excel格式(.xls或.xlsx)以及CSV(逗号分隔值)格式的文件,同时也会提及所给的压缩包文件中的相关资源。 首先,Excel文件是一种由Microsoft Office提供的电子表格格式,用于...

    读取Excel文件中多个sheet

    java读取Excel文件中多个sheet,生成xml格式的文件

    Java导出CSV文件

    java导出数据时,如果对数据格式没有特殊要求,为了提高效率可以导出CSV格式的文件,导出CSV文件不支持多个sheet页。

    VBA批量处理csv或其他excel文件数据

    1. **遍历文件夹**:VBA可以使用`MkDir`和`ChDir`函数改变当前工作目录,然后使用`Dir`函数来获取指定目录下的所有文件。通过循环遍历`Dir`返回的文件名,可以处理文件夹中的每一个文件。 2. **打开csv文件**:在...

    工作表另存为工作簿

    将一个工作簿里面的所有sheet,另存为单独的工作簿。

    kettle循环导出数据到excel生成多个sheet页

    在Excel输出步骤中,通过修改sheet索引或者创建新的sheet名称,我们可以将数据写入到不同的sheet页。 6. **数据写入**:使用“Excel输出”步骤将过滤后的数据写入到对应的sheet中。这里需要注意设置好列名、数据...

    java操作CSV文件

    ### Java操作CSV文件知识点 #### 一、简介与背景 在日常的数据处理工作中,CSV(Comma-Separated Values)文件是一种常见的数据交换格式。它简单易用且跨平台兼容性好,常被用于导入导出数据、数据分析等场景。在...

    C#将Excel中的Sheet进行合并

    在加载Excel文件后,我们可以获取到所有的Sheet页: ```csharp ExcelWorksheet[] worksheets = package.Workbook.Worksheets; ``` 4. **合并Sheet页** 要合并Sheet页,我们需要先将源Sheet的数据复制到一个新...

    java实现excel转csv

    在Java编程环境中,将Excel文件(.xls或.xlsx格式)转换为CSV文件是一项常见的任务,特别是在数据处理和分析中。本文将深入探讨如何利用Java来完成这个过程,主要使用Apache POI库,这是一个广泛使用的开源库,专门...

    python将excel转换为csv的代码方法总结

    - `data.to_csv`函数用于将DataFrame对象保存为CSV文件,其中`'output.csv'`是输出文件名,`encoding='utf-8'`指定文件编码格式。 #### 三、使用xlrd和csv库进行转换 除了使用Pandas,还可以使用Python的xlrd和csv...

    matlab将多个excel读取并存到一个excel的不同sheet中

    在MATLAB中,读取多个Excel文件并将它们的数据合并到一个新的Excel文件的不同工作表中是一项常见的任务。这个过程涉及到MATLAB的文件I/O操作和数据处理能力,特别是使用`xlsread`或`readtable`函数来读取Excel数据,...

    EXcelVBA另存工作簿之后删除按钮及宏代码

    ### EXcelVBA另存工作簿之后删除按钮及宏代码 #### 一、知识点概述 在Excel VBA中,可以通过编写宏代码实现多种自动化任务,包括但不限于数据处理、格式化设置以及文件操作等。本篇内容主要介绍了如何利用VBA实现...

Global site tag (gtag.js) - Google Analytics