Hemil Gandhi Ответов: 1

Преобразование файлов .xlsx & .xls в файл .csv VB.NET


С помощью ссылки на приведенное ниже Решение я преобразовал код из C# в VB, но теперь я застрял в ошибке ссылки на объект, пожалуйста, помогите, чтобы я мог конвертировать свой excel в csv

Что я уже пробовал:

Преобразование файлов .xlsx & .xls в файл .csv[^]

Dim Upath As String = "~/Uploads/" + CDate(Today.Date).ToString("yyyyMMdd")
Dim excelPath As String = Server.MapPath(Upath + "/BKP/") + Path.GetFileName(FileUpload1.PostedFile.FileName)
FileUpload1.SaveAs(excelPath)
Dim csvPath As String = Server.MapPath(Upath) + "/" + Path.GetFileNameWithoutExtension(FileUpload1.PostedFile.FileName) + ".csv"
Dim stream As FileStream = File.Open(excelPath, FileMode.Open, FileAccess.Read)
Dim excelReader As IExcelDataReader = ExcelReaderFactory.CreateBinaryReader(stream)
'Dim excelReader As IExcelDataReader = ExcelReaderFactory.CreateOpenXmlReader(stream)
excelReader.IsFirstRowAsColumnNames = True
Dim result As DataSet = excelReader.AsDataSet()
Dim csvdata As String = ""
Dim row_no As Integer = 0
Dim DT As DataTable
DT = result.Tables(0) ''HERE I AM OBJECT REFERENCE ERROR
GridView1.DataSource = DT
excelReader.Close()

1 Ответов

Рейтинг:
7

Richard MacCutchan

Пожалуйста, разместите свой вопрос на форуме в конце статьи, чтобы автор мог вам помочь.


Hemil Gandhi

я уже это сделал

Richard MacCutchan

Если вы хотите, чтобы кто-нибудь помог вам здесь, вам нужно объяснить, в чем ваша проблема.

Hemil Gandhi

вопрос обновлен , поскольку я пробовал несколько решений, теперь я застрял с ошибкой ссылки на объект.

Richard MacCutchan

Вы заявили: result но не создал ни одного Tables внутри него (я полагаю). Поэтому ссылка Tables(0) наиболее вероятный null Вы можете проверить это с помощью отладчика.

Hemil Gandhi

Сэр, извините, что беспокою вас, но я новичок, так что не понимаю вашего решения. пожалуйста, уточните это.

Richard MacCutchan

Dim result As DataSet = excelReader.AsDataSet() ' you create the variable result, but it does not refer to anything.
Dim csvdata As String = ""Dim row_no As Integer = 0
Dim DT As DataTableDT = result.Tables(0) ''HERE I AM OBJECT REFERENCE ERROR - because result does not point to any tables.