Преобразование Excel в CSV и игнорирование пустых ячеек и DropDownList в C # - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть следующий метод, который зацикливается на моем листе книги Excel в виде таблицы данных, преобразуя его в CSV с помощью вывода построителя строк.

В моей книге Excel у меня есть раскрывающийся список, а на выходе CSV - это раскрывающийся списоктакже преобразуются из XLS в CSV также, когда строка Excel пуста.

enter image description here

Я пытался проверить, что строка пуста или не пуста, но выводCVS - пустой файл.

while (row_no < result.Tables[ind].Rows.Count)
{
    for (int i = 0; i < result.Tables[ind].Columns.Count; i++)
    {
        if (!String.IsNullOrWhiteSpace(csvData))
        {
            csvData += result.Tables[ind].Rows[row_no][i].ToString() + "|";
        }
    }

    row_no++;
    csvData += "\n";
}

Вопрос;что я делаю не так?!

Я чувствую, что я так близко, но он просто не ведет себя.

Заранее благодарю за помощь.

Моя полнаякод ниже:

 FileUpload1.PostedFile.SaveAs(Server.MapPath("...");
 string filePath = HttpContext.Current.Server.MapPath("...");
 FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
 IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
 DataSet result = excelReader.AsDataSet();
 excelReader.Close();

 result.Tables[0].TableName.ToString();
 string csvData = "";
 int row_no = 0;
 int ind = 0;

 while (row_no < result.Tables[ind].Rows.Count)
 {
     for (int i = 0; i < result.Tables[ind].Columns.Count; i++)
     {
        csvData += result.Tables[ind].Rows[row_no][i].ToString() + "|";    
     }

     row_no++;
     csvData += "\n";
 }

 output = HttpContext.Current.Server.MapPath("...csv");
 newOutput = Path.GetFileName(output);
 StreamWriter csv = new StreamWriter(@output, false);
 csv.Write(csvData);
 csv.Close();
 csv.Dispose();

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...