从txt读入string中文错误
private void button1_Click(object sender, EventArgs e)
{
try
{
string strConn;
strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source = c:\Users\Administrator\Desktop\cstest.xlsx;Extended Properties='Excel 8.0;HDR=no;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "Sheet1");
DataTable dt = OleDsExcle.Tables[0];
string fn = @"C:\Users\Administrator\Desktop\txt.txt";
StreamReader sr = new StreamReader(fn, Encoding.GetEncoding("gb2312"));
string s = sr.ReadToEnd();
sr.Dispose();
StreamWriter sw = new StreamWriter(fn);
int w;
int i;
string t;
for (i = 0; i <= 6; i++)
{
t = dt.Rows[i][3].ToString();
w = s.IndexOf(t);
s.Remove(w, t.Length);
}
sw.WriteLine(s);
sw.Flush();
sw.Close();
OleConn.Close();
}
catch (Exception ex)
{
label1.Text = ex.Message;
}
}
我txt.txt文件内容为:老虎老鼠长颈鹿鸟猴子大象长颈鹿猫
excel的D列为老虎 长颈鹿 老鼠 猫 长颈鹿 大象 猴子
我希望操作之后,txt.txt文件的内容被删除只剩下:鸟
调试发现s的内容有问题,大家帮忙看看。
[解决办法]
s = s.Remove(w, t.Length)