问题描述
- C# dataGridView数据导到Excel里面 标题是英文了,怎么改成中文的?
-
private void SaveFileDialog() { //string localFilePath fileNameExt newFileName FilePath; SaveFileDialog saveFileDialog1 = new SaveFileDialog(); //设置文件类型 saveFileDialog1.Filter = "" excel files(*.xls)|*.xls""; //设置默认文件类型显示顺序 saveFileDialog1.FilterIndex = 2; //保存对话框是否记忆上次打开的目录 saveFileDialog1.RestoreDirectory = true; //点了保存按钮进入 if (saveFileDialog1.ShowDialog() == DialogResult.OK) { DataTable dt = (DataTable)this.dataGridView1.DataSource; TableToExcel(saveFileDialog1.FileName dthaiyan""); } } static public void TableToExcel(string excel DataTable tb string tbname) { try { OleDbConnection connex = GetConnFromExcel(excel); //获取到excel文件的oledb连接 string ct = ""CREATE TABLE "" + tbname + "" (""; //以下生成一个sql命令向excel中插入一个表 foreach (DataColumn clmn in tb.Columns) { switch (clmn.DataType.Name) //根据不同数据类型分别处理 { case ""Decimal"": ct += clmn.ColumnName + "" Decimal; break; case ""Double"": ct += clmn.ColumnName + "" Double; break; default: ct += clmn.ColumnName + "" string; break; } } ct = ct.Substring(0 ct.Length - 1) + "")""; OleDbCommand cmd1 = new OleDbCommand(ct connex); cmd1.ExecuteNonQuery(); //向excel中插入一个表 foreach (DataRow r in tb.Rows) //下面向excel中一行一行写入数据 { string fs = """" vs = """"; foreach (DataColumn clmn in tb.Columns) { fs += clmn.ColumnName + ""; if (r[clmn.ColumnName] == DBNull.Value) { vs += ""null; continue; } switch (clmn.DataType.Name) //根据不同数据类型分别处理 { case ""Decimal"": vs += ((decimal)r[clmn.ColumnName]).ToString(""0.00"") + ""; break; case ""Double"": vs += ((double)r[clmn.ColumnName]).ToString(""0.00"") + ""; break; case ""DateTime"": vs += ""'"" + ((DateTime)r[clmn.ColumnName]).ToShortDateString() + ""'; break; default: vs += ""'"" + r[clmn.ColumnName].ToString() + ""'; break; } } string sqlstr = ""insert into ["" + tbname + ""$] ("" + fs.Substring(0 fs.Length - 1) + "") values ("" + vs.Substring(0 vs.Length - 1) + "")""; OleDbCommand cmd = new OleDbCommand(sqlstr connex); cmd.ExecuteNonQuery(); //向excel中插入数据 } connex.Close(); } catch (Exception e) { throw new Exception(e.Message); } } static public OleDbConnection GetConnFromExcel(string ExcelFileName) { try { OleDbConnection connEX = new OleDbConnection(); connEX.ConnectionString = @""Provider=Microsoft.Jet.OLEDB.4.0;Data Source="" + ExcelFileName + "";Extended Properties=Excel 8.0""; //connEX.ConnectionString = @""Provider=Microsoft.Jet.OLEDB.4.0;Data Source="" + ExcelFileName + "";Extended Properties=""""Excel 8.0;IMEX=1;""""""; connEX.Open(); return connEX; } catch (Exception ex) { MessageBox.Show(ex.Message); return null; } }![![图片说明](http://img.ask.csdn.net/upload/201505/21/1432197521_401467.png)图片说明](http://img.ask.csdn.net/upload/201505/21/1432197510_409063.png)
解决方案
fs += clmn.ColumnName + "";
->
fs += clmn.Text + "";
看看
解决方案二:
fs += clmn.Text + ""; 没有这 clmn.Text
解决方案三:
顶 fs += clmn.Text + ""; 没有这 clmn.Text
时间: 2024-09-19 20:43:48