在读取Excel时遇到一个问题,那就是读取出来的单表出现了乱码的现象,我们可以看到很多汉字无法识别出来。
在存入时对字符编码进行指定:
public void getHeader(string sheetName, List<string> listName)
{
Worksheet ws = ((Worksheet)wb.Worksheets[sheetName]);
//获取工作表中的列数
int columns = ws.UsedRange.Columns.Count;
Console.WriteLine(columns);
for (int i = 1; i < columns; i++)
{
//默认的字符编码是unicode,也就是utf16
string a = Encoding.GetEncoding("Big5").GetString(Encoding.Default.GetBytes(((Range)ws.Cells[2, i]).Text));
listName.Add(a);
}
}
我这里是电脑系统是台湾版本的,所以系统默认字符为Big5,
其他字符编码有:GB2312、ISO8859-1、ASCII、GBK、Big5、Unicode(UTF-16)、UTF-8、UTF-16、Base64
欢迎关注本人的公众号:编程手札,文章也会在公众号更新