2011-12-27 83 views
0

我需要在C#中讀取EXCEL二進制文件(xls)。使用OleDb或ExcelDataReader讀取Excel文件返回特殊字符編碼wronlgy

基本上它的工作,但我有錯誤編碼的字符(例如德國元音變音)的問題。

有沒有一些方法來指定編碼? Excel文件是否有類似編碼的東西?

在Excel文件中的字符串是

沈殿霞Hömmerl

當與Jet或EDR閱讀中,我得到:

沈殿霞HŠmmerl

我有嘗試過OleDb和Excel Data Reader項目。

這裏是我用來打開和讀取文件的代碼:

var connectionString = 
      string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; 
          Extended Properties=\"Excel 8.0;HDR=no\";", filePath); 

var adapter = new OleDbDataAdapter(
      "SELECT * FROM [Webshop orders$]", connectionString); 

var ds = new DataSet();  
adapter.Fill(ds, "Orders"); 
var data = ds.Tables["Orders"].AsEnumerable(); 
foreach (var row in data) 
{ 
    var str = Convert.ToString(row[0]); 

回答

-1

Unicode with C#

仍然有很多人誰不明白二進制和文本之間的差異,或者知道有什麼字符編碼等。對於這些人來說,這個頁面已經寫好了。它提到了一些高級主題,但只是讓讀者意識到它們的存在,而不是對這個主題給予很多指導。