Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 两个文本文件之间的映射包含阿拉伯语字符c_C# - Fatal编程技术网

C# 两个文本文件之间的映射包含阿拉伯语字符c

C# 两个文本文件之间的映射包含阿拉伯语字符c,c#,C#,我发现文本文件包含如下数据: ID 1 Name Mary Mark 89 ID 2 Name Mai Mark 67 我还有另一个文本文件包含数据: ID Mobile 1 0993209320 2 0943043094 我想创建只包含两列的excel文件: Mobile Message 0993209320 ID 1 Name Mary Mark 89 0943043094 ID 2 Na

我发现文本文件包含如下数据:

ID 1 Name Mary Mark 89
ID 2 Name Mai   Mark 67
我还有另一个文本文件包含数据:

ID  Mobile
1   0993209320
2   0943043094
我想创建只包含两列的excel文件:

Mobile                      Message
0993209320            ID 1 Name Mary Mark 89
0943043094            ID 2 Name Mai   Mark 67
为此,我尝试了以下代码,它工作正常,并且创建了所需的excel文件,但是当我将两个文本文件中包含的数据都更改为阿拉伯语时,代码创建了excel文件,但为空,我应该如何修改代码,使其能够处理阿拉伯语字符?? 代码如下:

    DataTable dtMapping = new DataTable();
    ArrayList lstMapping = new ArrayList();
    dtMapping.Columns.Add("Mobile"); dtMapping.Columns.Add("Message");
    string[] readFile1 = File.ReadAllLines(Location of 1st file);
    string[] readFile2 = File.ReadAllLines(Location of 2nd file);


         for (int i = 0; i < readFile1.Length; i++)
            {
                string fileData = readFile1[i].ToString();
                int find_Id_Index = fileData.IndexOf("ID ");
                if (find_Id_Index != -1)
                {
                    int find_Name_Index = fileData.IndexOf("Name ", find_Id_Index);
                   string id = fileData.Substring(find_Id_Index+3,find_Name_Index-(find_Id_Index+3) ).Trim();
                    lstMapping.Add("ID " + id);
                    lstMapping.Add(fileData.Substring(find_Name_Index, fileData.Length - (find_Name_Index)).Trim());
                }
            }


            for (int i = 1; i < readFile2.Length; i++)
            {
                int find_Space_Index = readFile2[i].IndexOf(" ");
                if (find_Space_Index != -1)
                {
                    string file2id = readFile2[i].Substring(0, find_Space_Index).Trim();
                    string mobileno = readFile2[i].Substring(find_Space_Index, readFile2[2].Length - (find_Space_Index - file2id.Length+1)).Trim();
                    int find_Id = lstMapping.IndexOf("ID " + file2id);
                    if (find_Id != -1)
                    {
                        dtMapping.Rows.Add(mobileno, "ID " + file2id + " " + lstMapping[find_Id + 1]);
                    }
                }
            }


            Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook workbook = excelApp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
            Microsoft.Office.Interop.Excel.Worksheet workSheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];
            for (int i = 0; i < dtMapping.Columns.Count; i++)
            {
                workSheet.Cells[1, (i + 1)] = dtMapping.Columns[i].ColumnName;
            }
            for (int i = 0; i < dtMapping.Rows.Count; i++)
            {
                for (int j = 0; j < dtMapping.Columns.Count; j++)
                {
                    workSheet.Cells[(i + 2), (j + 1)] = dtMapping.Rows[i][j];
                }
            }
            excelApp.Visible = true;

你没有说你是如何创建文本文件的。确保它以UTF-8编码保存,这是您用于读取文本文件的编码。文本文件已存在,我将尝试使用UTF-8编码您机器的默认区域设置是什么?我认为这可能是一个本地化问题,因为文件是阿拉伯语的。您可能需要使用CultureInfo类