数据导出EXCEL的问题(100)

  • 主题发起人 love_yb97
  • 开始时间
L

love_yb97

Unregistered / Unconfirmed
GUEST, unregistred user!
数据格式如下(大概有3千条记录) 字段一 字段二 字段三煤气发生量 测管流量计A 28160073煤气发生量 差压变送器 5002957混合煤气 差压变送器 4977266混合煤气 压力变送器 DXY0005混合煤气 热电阻 无。。。。。。。。。。。。。。。。。上述记录我可以导出到EXCEL中,但有一个问题,我需要将“字段一”相同内容在导出时候进行单元格合并,在delphi中如何操作,请高手详细告之,谢谢。导出excel结果:(就是对字段一相同数据进行合并) 字段一 字段二 字段三 测管流量计A 28160073煤气发生量 差压变送器 5002957 差压变送器 4977266混合煤气 压力变送器 DXY0005 热电阻 无
 
不大明白LZ的意思
 
有个第三方控件 XLSREADWRITEII,可以达到你的目的网上找找呗
 
QQ:292044357我有专用技术,不便附代码
 
uses comobjprocedure MergeCells(FileName: string); function GetRepRange(x, y: integer): string; var fX, fY: string; begin if y <= 0 then fX := 'A'; if y <= 26 then fX := chr(64 + y); if y > 26 then fX := chr(64 + (y div 26)) + chr(64 + (y mod 26)); fY := IntToStr(x); Result := fX + fY; end;var // i, j: integer; s1, s2: string; Excel: Variant; WorkBook: Variant; xl: olevariant;begin Excel := CreateOLEObject('Excel.Application'); Excel.WorkBooks.Open(FileName); Excel.WorkSheets[1].Activate; WorkBook := Excel.ActiveWorkBook; try Excel.Application.ScreenUpdating := False; Excel.Application.DisplayAlerts := False; j := 1; while Trim(Excel.Cells[j, 1].Value) <> '' do begin s1 := Trim(Excel.Cells[j, 1].Value); s2 := Trim(Excel.Cells[j + 1, 1].Value); i := j + 1; while s1 = s2 do begin Inc(i); s2 := Trim(Excel.Cells[i, 1].Value); end; Dec(i); Excel.Range[GetRepRange(j, 1) + ':' + GetRepRange(i, 1)].Merge(xl); j := i + 1; end; finally Excel.ActiveWorkBook.Save; Excel.DisplayAlerts := False; WorkBook.Close; Excel.DisplayAlerts := False; Excel.Quit; Excel := Unassigned; VarClear(Excel); end;end;procedure TForm1.btn1Click(Sender: TObject);begin MergeCells('C:/01.xlsx');end;
 
已经自己解决问题了,谢谢各位捧场!!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
961
SUNSTONE的Delphi笔记
S
S
回复
0
查看
949
SUNSTONE的Delphi笔记
S
顶部