在Delphi中如何控制往Excel的工作表中传入文本文件数据的问题?有请高手

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Delphi中如何控制往Excel的工作表中传入文本文件数据的问题?有请高手相关的知识,希望对你有一定的参考价值。

1.如不雅只是想一次或几回将文本数据传入excel,完全不必编程,excel有这个功能。3。应用Dao/Ado也可做到。具体做法请查有关材料。2。如不雅要编程实现,去delphi窑洞找到xlsreadwrite1.35控件,可以知足你的请求。 参考技术A 我知道是用OLE来连接Excel,并且Delphi的Server页上就有这方面的控件,如今的问题是每次用excelapplication1.workbooks的open办法打开一个文本文件,就要打开一个工作薄,而不是在现有的工作薄中增长一个工作表,我想做到的是在现有的工作薄中增长一个工作表,并在这个工作表上打开另一个文本文件。

如何将单个工作表中的多行(在 excel 中)转换为多个 CSV 文件

【中文标题】如何将单个工作表中的多行(在 excel 中)转换为多个 CSV 文件【英文标题】:How to convert multiple rows (in excel) in single sheet into multiple CSV file 【发布时间】:2014-04-14 13:21:57 【问题描述】:

我想将多行(根据组)转换为多个 csv。 我在 excel 中的单张表包含近 3000 行和 5 列。现在我希望我的 excel 表中的每个组都转换为 csv 文件。

例如

1 ali Khan ali.khan@hotmail.com a1

2juliet ibm juliet.ibm@hotmail.com a1

3laura ann lura.ann@hotmail.com b1

4abcd ewqa abcd.ewqa@hotmail.com b1

5annia franics annia.franics@hotmail.com c1

现在我想根据组 (a1,b1,c1...) 将这些行提取到单独的 CSV 中。 每个组创建新的 csv。

只需要解决这个问题。如果您建议任何免费工具或任何代码都没关系。

【问题讨论】:

如果您需要我相信的一步解决方案,您将不得不编写一些 VBA 代码,但我只是按组名排序,然后将其保存为单个 CSV 文件,最后手动创建(复制/粘贴)其他 csv。我知道这不是一个优雅的 IT 解决方案,但它可以完成工作! 您需要持续解决方案还是一次性解决方案。另外,你试过什么? 我认为@elrado 有一个良好的开端,但我建议您(1)将带有FirstName LastName Email Group 的标题行添加到第 1 行,然后(2)使用Excel 的内置 Autofilter 功能可隐藏组的所有非成员,最后 (3) 将每个过滤后的组保存为 CSV 【参考方案1】:

使用此代码,您可以复制并粘贴到另一个工作表中并创建 CSV 文件。

Dim RowSt As Integer
Dim RowLs As Integer
Dim StriI As String
Dim StriL As String

RowSt = 4
RowLs = 4
StriI = Range("F" & RowLs).Value
StriL = Range("F" & RowLs).Value
While Range("F" & RowLs).Value <> ""
    StriL = Range("F" & RowLs).Value
    If StriL <> StriI Then
        Range("B" & RowSt & ":F" & RowLs - 1).Copy
        Sheets("Sheet2").Select
        Range("A1").Select
        ActiveSheet.Paste
        Selection.Clear
        Sheets("Sheet1").Select
        ActiveWorkbook.SaveAs Filename:="E:\0\A\" & StriI & ".csv", FileFormat:=xlCSVMSDOS, CreateBackup:=False
        StriI = StriL
        RowSt = RowLs
    End If
    RowLs = RowLs + 1
Wend
Range("B" & RowSt & ":F" & RowLs - 1).Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Selection.Clear
Sheets("Sheet1").Select
ActiveWorkbook.SaveAs Filename:="E:\0\A\" & StriI & ".csv", FileFormat:=xlCSVMSDOS, CreateBackup:=False
Range("A1").Select

【讨论】:

感谢您的帮助。到目前为止,我是手动完成的,但问题是,随着时间的推移数据在增加,这不是理想的解决方案。所以我必须想办法处理它。我将尝试使用你们发送的代码。

以上是关于在Delphi中如何控制往Excel的工作表中传入文本文件数据的问题?有请高手的主要内容,如果未能解决你的问题,请参考以下文章

急!!在delphi中如何将sql server 2000数据库中的一个表中的内容全部导到excel表中

Delphi 实现EXCEL表中数据导出至TXT中。 EXCEL表格式如下:

delphi 如何在Delphi中执行将Excel表格里的内容导入数据库中相应表

Delphi控制Excel2000心得

Delphi 中如何将EXCEL表导入到已知的数据库中,再进行操作

Delphi在提取数据填充到Grid上面总是一行行的闪烁加载、如何解决?