Excel将额外的逗号导出为CSV

我有一个大的macros程序运行通过Excel 2010,格式化大量的数据到另一个表格,并将工作簿作为CSV文件(大量的数据,我的意思是成千上万的行,超过59,000行)导出工作簿。 最近,我的文件已经开始以最后一行逗号结尾,如下所示:

data,data,data,data,number,date data,data,data,data,number,date ,,,,, 

我正在使用存储过程将这些文件导出到SQL数据库,因此确保没有额外的逗号与程序一起使用是非常重要的。 所以,就这样说,发生了什么,我该如何预防呢? 我可以提供您认为缺失的任何代码或信息。

注意:它似乎只发生在至less有数千行数据的文件上。 一个导出的文件通常有2000多个,另一个文件必须有59,000+个导出表。

编辑1:这是我正在使用的macros,以防万一它会有所帮助(请求由同上)

 Sub exportTable() Dim varIsOpen As Boolean Dim varSaveLocation1 As String, varSaveLocation2 As String varIsOpen = False If ThisWorkbook.Sheets("ControlSheet").Range("D2").value = "" Then varSaveLocation1 = ThisWorkbook.Path & "\CSVREVIEW\" varSaveLocation2 = varSaveLocation1 & Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) Else varSaveLocation1 = ThisWorkbook.Sheets("ControlSheet").Range("D2").value If Right(varSaveLocation1, 1) <> "\" Then varSaveLocation1 = varSaveLocation1 & "\" varSaveLocation2 = varSaveLocation1 & Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) End If For counter = 1 To Workbooks.Count If Workbooks(counter).Name = "TableBook.xls" Then varIsOpen = True If varIsOpen = True Then Exit For Next If varIsOpen = False Then GoTo isClosed Workbooks("TableBook").Activate Application.DisplayAlerts = False 'Check if TableBook is empty and don't export if so If Workbooks("TableBook").Sheets("logFile").Range("A1").value = "" Then Workbooks("TableBook").Close GoTo isClosed End If 'On Error Resume Next If Len(Dir(varSaveLocation1, vbDirectory)) = 0 Then MkDir varSaveLocation1 End If If Len(Dir(varSaveLocation2, vbDirectory)) = 0 Then MkDir varSaveLocation2 End If 'On Error GoTo 0 ActiveWorkbook.Sheets("test").Activate ActiveWorkbook.SaveAs varSaveLocation2 + "\test", xlCSV ActiveWorkbook.Sheets("part").Activate ActiveWorkbook.SaveAs varSaveLocation2 + "\part", xlCSV ActiveWorkbook.Sheets("logFile").Activate ActiveWorkbook.SaveAs varSaveLocation2 + "\logFile", xlCSV ActiveWorkbook.Sheets("deltaLimits").Activate ActiveWorkbook.SaveAs varSaveLocation2 + "\deltaLimits", xlCSV ActiveWorkbook.Close Application.DisplayAlerts = True isClosed: End Sub 

点击Ctrl + End查看Excel相信的是数据的范围。 如果超出了要导出的范围,请使用主页►编辑►清除►全部清除以从下面的行中擦除所有值和格式,并将所需数据区域的右边的列擦除并保存工作簿。 Excel 2010(包括所有SP)将调整为CurrentRegion, Ctrl + End现在应该带您到正确的最后一个单元格

早期版本的Excel(或没有所有SP的XL2010)可能需要额外的步骤(请参阅Excel中不需要的额外空白页 )。