Vb.net 将数据导出到多个Excel工作表
我正在使用以下代码将我的listview导出到Excelsheet,但问题是我有多个listview,我必须在同一excel文件的不同工作表中导出这些listviewVb.net 将数据导出到多个Excel工作表,vb.net,Vb.net,我正在使用以下代码将我的listview导出到Excelsheet,但问题是我有多个listview,我必须在同一excel文件的不同工作表中导出这些listview Dim flnameSaveAs As String = System.IO.Path.GetFileName(Main.spath1) 'Save Files name Dim extension As String extension = Path.GetExtension(Main.spath1) Dim file A
Dim flnameSaveAs As String = System.IO.Path.GetFileName(Main.spath1)
'Save Files name
Dim extension As String
extension = Path.GetExtension(Main.spath1)
Dim file As String = System.IO.Path.GetFileName(Main.spath1)
Dim FinenameA As String = System.IO.Path.GetDirectoryName(Main.spath1)
Dim savnames As String
savnames = file.Substring(0, Len(file) - Len(extension))
Dim ExportSheet As String
ExportSheet = deskPath + "\Cel_ID_TimeLine.txt"
Dim lvi As ListViewItem
Dim sb As New System.Text.StringBuilder
Dim sbhd As New System.Text.StringBuilder
Dim columns As Integer = lvCidTimeLine.Columns.Count
For ixhd As Integer = 0 To lvCidTimeLine.Columns.Count - 1
sbhd.Append(lvCidTimeLine.Columns(ixhd).Text)
sbhd.Append(vbTab)
Next
sb.Append(vbCrLf)
For Each lvi In lvCidTimeLine.Items
For ix As Integer = 0 To lvi.SubItems.Count - 1
sb.Append(lvi.SubItems(ix).Text)
If ix < lvi.SubItems.Count - 1 Then
sb.Append(vbTab)
Else
sb.Append(vbCrLf)
End If
Next
Next
Dim sw As New StreamWriter(ExportSheet)
sw.Write(sbhd.ToString)
sw.Write(sb.ToString)
sw.Close()
Dim oExcel As Excel.Application
' Create the spreadsheet
oExcel = CreateObject("Excel.Application")
oExcel.Workbooks.OpenText(ExportSheet, , , , -4142, , True)
oExcel.Cells.EntireColumn.AutoFit()
oExcel.ActiveWorkbook.SaveAs(savpath + "\" + savnames + ".xls", -4143)
oExcel.Quit()
oExcel = Nothing
Dim flnameSaveAs As String=System.IO.Path.GetFileName(Main.spath1)
'保存文件名
作为字符串的Dim扩展名
extension=Path.GetExtension(Main.spath1)
Dim文件格式为String=System.IO.Path.GetFileName(Main.spath1)
Dim FinenameA作为字符串=System.IO.Path.GetDirectoryName(Main.spath1)
将名称命名为字符串
savnames=file.Substring(0,Len(文件)-Len(扩展名))
将纸张变暗为字符串
ExportSheet=deskPath+“\Cel\u ID\u TimeLine.txt”
将lvi调整为ListViewItem
将sb设置为新System.Text.StringBuilder
Dim sbhd作为新System.Text.StringBuilder
将列设置为整数=lvcidtimline.columns.Count
对于ixhd,整数=0到lvCidTimeLine.Columns.Count-1
追加(lvCidTimeLine.Columns(ixhd.Text)
sbhd.Append(vbTab)
下一个
某人附加(vbCrLf)
对于lvCidTimeLine.Items中的每个lvi
对于ix,整数=0到lvi.SubItems.Count-1
sb.追加(lvi.子项(ix).文本)
如果ix
那么,您知道如何添加另一个工作表并向其中导出另一个listview吗???试试下面的代码
Try
Dim objExcel As New Excel.Application
Dim bkWorkBook As Excel.Workbook
Dim shWorkSheet As Excel.Worksheet
Dim shWorkSheet1 As Excel.Worksheet
Dim i As Integer
Dim j As Integer
objExcel = New Excel.Application
bkWorkBook = objExcel.Workbooks.Add
shWorkSheet = CType(bkWorkBook.ActiveSheet, Excel.Worksheet)
For i = 0 To lv1.Columns.Count - 1
shWorkSheet.Cells(1, i + 1) = lv1.Columns(i).Text
Next
For i = 0 To lv1.Items.Count - 1
For j = 0 To lv1.Items(i).SubItems.Count - 1
shWorkSheet.Cells(i + 2, j + 1) = lv1.Items(i).SubItems(j).Text
Next
Next
shWorkSheet1 = bkWorkBook.Worksheets.Add(, shWorkSheet, , )
For i = 0 To lv2.Columns.Count - 1
shWorkSheet1.Cells(1, i + 1) = lv2.Columns(i).Text
Next
For i = 0 To lv2.Items.Count - 1
For j = 0 To lv2.Items(i).SubItems.Count - 1
shWorkSheet1.Cells(i + 2, j + 1) = lv2.Items(i).SubItems(j).Text
Next
Next
objExcel.Visible = False
objExcel.Application.DisplayAlerts = False
objExcel.ActiveWorkbook.SaveAs(savpath + "\" + savnames + "_1" + ".xls", -4143)
objExcel.Quit()
objExcel = Nothing
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Dim proc As System.Diagnostics.Process
For Each proc In System.Diagnostics.Process.GetProcessesByName("EXCEL")
proc.Kill()
Next
您需要添加到“图纸”集合 请帮助我,因为我的项目因为这个问题而受阻。