在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表格里的内容导入数据库中相应表