Строки перепутались при преобразовании текстовых файлов с разделителями трубы в файл Excel .CSV

Я кодирую эту функцию, которая преобразует все каналы в запятые, а затем преобразует их в файл Excel .CSV.

Однако после этого я понимаю, что есть некоторые проблемы с некоторыми строками.

Например. Имя [Чуа Вэй Лун] (предположительно в одном столбце), в конечном итоге «Чуа Вэй» находится в одном столбце, «Лун» в следующем столбце.

Я просмотрел текстовый файл и не нашел каналов между именем, и не смог найти решение.

Ниже мой код для функции:

protected void SaveAsExcelBtn_Click(object sender, EventArgs e)
    {


        //string strExcelOutputFilename = "C:/Documents and Settings/rhlim/My Documents/" + DateTime.Now.ToString("yyyyMMddHHmmss") + xlExtension;

        // Before attempting to import the file, verify 
        // that the FileUpload control contains a file. 
        if (TextFile.HasFile)
        {
            // Get the name of the Excel spreadsheet. 
            string strFileName = Server.HtmlEncode(TextFile.FileName);

            // Get the extension of the text. 
            string strExtension = Path.GetExtension(strFileName);

            // Validate the file extension. 
            if (strExtension != ".TXT" && strExtension!=".txt")
            {

                Response.Write("<script>alert('Invalid text file!');</script>");
                return;
            }

            // Generate the file name to save the text file.
            //string strUploadFileName = "C:/Documents and Settings/rhlim/My Documents/Visual Studio 2005/WebSites/SoD/UploadFiles/" + DateTime.Now.ToString("yyyyMMddHHmmss") + strExtension;

            if (DEMUserRoleRB.Checked)
            {
                string strExcelOutputFilename = "C:/" + "userrolelist" + xlExtension;


                using (StreamWriter outputWriter = new StreamWriter(File.Create(strExcelOutputFilename)))
                {
                    StreamReader inputReader = new StreamReader(TextFile.FileContent);
                    string fileContent = inputReader.ReadToEnd();
                    fileContent = fileContent.Replace('|', ',');
                    outputWriter.Write(fileContent);
                    //TextFile.SaveAs(strExcelOutputFilename);
                    inputReader.Close();
                    UploadStatusLabel.Text = "Conversion successful. File is stored at directory C:/";
                }

                //string strExcelOutputFilename = "C:/Documents and Settings/rhlim/My Documents/" + DateTime.Now.ToString("yyyyMMddHHmmss")+xlExtension;
                // Save the Excel spreadsheet on server. 
                //TextFile.SaveAs (strExcelOutputFilename);

            }
        }
        else Response.Write("<script>alert('Please select a file');</script>");

Пример вывода файла .csv (строки с ошибками выделены):

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

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

Ответы на вопрос(2)

Ваш ответ на вопрос