Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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# Excel自动化代码中的值显示非unicode字符_C#_Excel_Vsto - Fatal编程技术网

C# Excel自动化代码中的值显示非unicode字符

C# Excel自动化代码中的值显示非unicode字符,c#,excel,vsto,C#,Excel,Vsto,我以前使用过这段代码,直到最近才出现问题。我不确定是什么触发了它,但不知何故返回值并没有保留日文字符 (sheet.Cells[row, col] as Range).Text 当我在Excel中打开工作表时,我可以看到日文字符。 当我单步执行代码时,上面的行返回一个字符串,其中日文字符替换为方形字符 你知道这是什么原因吗 更新1:下面是代码块 while (readrow) { string key = (sheet.Cells[row, 3] as Range).Text.ToSt

我以前使用过这段代码,直到最近才出现问题。我不确定是什么触发了它,但不知何故返回值并没有保留日文字符

(sheet.Cells[row, col] as Range).Text
当我在Excel中打开工作表时,我可以看到日文字符。 当我单步执行代码时,上面的行返回一个字符串,其中日文字符替换为方形字符

你知道这是什么原因吗

更新1:下面是代码块

while (readrow)
{
    string key = (sheet.Cells[row, 3] as Range).Text.ToString();
    object data = (sheet.Cells[row, col] as Range).Text.ToString();

    if ((key is String) & !String.IsNullOrEmpty(key))
    {
        if (data is string)
        {
            string text = data as string;

            text = text.Replace("\\r", "\r");
            text = text.Replace("\\n", "\n");
            }

        row++;

        string file = (sheet.Cells[row, 2] as Range).Text.ToString();

        if (file != fileDest)
            break;
    }
    else
    {
        readrow = false;
    }

    rw.Close();
}

更新2:我已经绞尽脑汁了,已经尝试了其他几个excel库(Koogra和ExcelPackage),结果都是一样的。然后,我重新启动了我的机器,再试一次,砰!,又是日本字了

您使用的是什么unicode字符..,而且仅仅看到一行代码就很难判断出问题所在。您可以粘贴您使用的确切代码段/代码块吗。。?谢谢,您不需要将“范围”完全限定为Microsoft.Office.Interop.Excel吗。Range@DJKRAZE我使用了代码文件顶部的