C#读取Excel单元格中的感叹号

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:26:58
使用ADO.NET来读取Excel中的数据,但是发现读到单元格中有感叹号时,会自动把感叹号变成下划线,但是我们需要的是原样,也就是需要感叹号,想问下高手怎么搞呢?
下面是读取的代码:
string OLEDB_CONNECTION_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=yes;IMEX=1'";
OleDbConnection oleDBConnection = null;
try
{
oleDBConnection = new OleDbConnection(string.Format(OLEDB_CONNECTION_STRING, pathname));
oleDBConnection.Open();
OleDbCommand oleDbCommand1 = new OleDbCommand("SELECT * FROM [Sheet1$B3:Z65536]",oleDBConnection);
OleDbDataAdapter objAdapter2 = new OleDbDataAdapter();
objAdapter2.SelectCommand = oleDbCommand1 ;

DataSet dataSet2 = new DataSet();

objAdapter2.Fill(dataSet2, "Table1");

DataTable dataTable1 = dataSet2.Tables["Table1"];
}
执行完上述代码后,在取值得时候dataTable1.Columns[1].ToString()会发现值变成了

自动把感叹号变成下划线方法有两个:
方法一:
1、将读取出来的dataTable1.Columns[1].ToString()进行转化,将该字段的'_'符号转化成‘!’符号,输出即可变为:Hello!Testlyh

2、你试一试把excel中的那一列字段的‘!’改为英文的叹号,然后在重试。如果还不行,就只能用方法一了!

祝你好运!!