У нас есть более 65 536 строк данных для экспорта (записи) в CSV-файл. Но Excel (CSV) поддерживает только 65 536. Excel поддерживает несколько книг, поэтому мы можем писать данные в нескольких книгах. Но CSV не поддерживает эту функцию. Есть ли другой способ сделать это. Может ли кто-нибудь помочь в этом?Экспорт данных в CSV-файл
ответ
Если вы настроите таргетинг на Excel, существует множество библиотек, которые помогут сгенерировать файл xls в CSV. Из них CarlosAg.ExcelXmlWriter.dll, который прост в использовании.
Вы можете записать данные в несколько CSV-файлов, если это возможно. CSV - это всего лишь текстовый файл, поэтому нет таких вещей, как несколько листов и т. Д.
Возможно, вы могли бы использовать файлы Excel (xls) и несколько листов. Существуют библиотеки для записи файлов Excel в зависимости от языка, который вы используете (например, Apache POI для Java).
Нижеприведенный был первоначально написан для Excel2003, но когда я перешел на 2007 год, COMDLG32 не поддерживался так досадно, что вы просто получаете InputBox. Я не использовал его в течение некоторого времени, так что, возможно, потребуется немного переработать, но, надеюсь, укажет вам в правильном направлении.
Sub OpenCSV_bysheet()
'No COMDLG32.OCX
Dim fileNo As Integer
Dim tempRow, fileNm As String
Dim tempRowNo, x, y As Long
Dim CommaOnOff As Boolean
fileNm = InputBox("Please input Drive:\Path\Filename.csv", , CurDir & "\*.csv")
If fileNm = "" Then Exit Sub
For x = 1 To Len(fileNm)
If Mid(fileNm, x, 1) = "*" Or Mid(fileNm, x, 1) = "?" Then Exit Sub
Next x
' UserForm1.CommonDialog1.CancelError = True
' UserForm1.CommonDialog1.Flags = cdlOFNHideReadOnly
' UserForm1.CommonDialog1.Filter = "Comma Separated Value files (*.csv)|*.csv|All Files (*.*)|*.*"
On Error GoTo errorTrap
' UserForm1.CommonDialog1.ShowOpen
' fileNm = UserForm1.CommonDialog1.Filename
fileNo = FreeFile
tempRowNo = 0
x = 0
y = 0
On Error Resume Next
Workbooks.Add (xlWBATWorksheet)
Application.ScreenUpdating = False
Open fileNm For Input As fileNo
Do While Not EOF(fileNo)
Line Input #fileNo, tempRow
If x Mod 65536 = 0 And x > 0 Then
Sheets.Add
x = 0
End If
x = x + 1
y = y + 1
ActiveCell.Cells(x, 1).Value = tempRow
ActiveCell.Cells(x, 1).TextToColumns Destination:=ActiveCell.Cells(x, 1), _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False
Application.StatusBar = y
Loop
Close fileNo
errorTrap:
Application.ScreenUpdating = False
Application.StatusBar = False
End Sub
- 1. Экспорт данных BCP и экспорт данных SSIS
- 2. Экспорт данных в переменные
- 3. Экспорт данных в Excel
- 4. Экспорт данных в Excel
- 5. Экспорт данных в CSV
- 6. Экспорт данных в excel
- 7. Экспорт данных в Excel
- 8. Экспорт данных в Excel?
- 9. Экспорт данных в Excel
- 10. Экспорт данных из базы данных
- 11. Экспорт двоичных данных/данных BLOB?
- 12. Экспорт данных почитание маски данных
- 13. Экспорт данных SQLite в CSV
- 14. Экспорт данных в SAP HANA
- 15. Экспорт данных в csv python
- 16. Экспорт данных Firebase в файл
- 17. Экспорт данных Grid.MVC в Excel
- 18. экспорт данных в формате JSON
- 19. экспорт данных в лист excel
- 20. Экспорт данных DataGridView в Excel
- 21. Экспорт данных в Excel ASP.Net
- 22. Экспорт иерархических данных в XML
- 23. Экспорт данных в excel правильно
- 24. Экспорт данных в номера iWork
- 25. Экспорт данных в качестве факторов
- 26. Экспорт данных сетки в pdf
- 27. Экспорт данных в CSV-файл
- 28. Экспорт данных в формате CSV
- 29. Экспорт данных в CSV MVC4
- 30. Экспорт данных эластичности в localhost
Почему бы вам просто не написать прямо в электронную таблицу? Пространство имен Microsoft.Office.Interop.Excel. –