c# datagridview 导出excel 身份证变成科学计数法问题!!!

privatevoidDataGridViewToExcel(DataGridViewdgv){SaveFileDialogdlg=newSaveFileDialog()... private void DataGridViewToExcel(DataGridView dgv)
{
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "Execl files (*.xls)|*.xls";
dlg.FilterIndex = 0;
dlg.RestoreDirectory = true;
dlg.CreatePrompt = true;
dlg.Title = "保存为Excel文件";

if (dlg.ShowDialog() == DialogResult.OK)
{
Stream myStream;
myStream = dlg.OpenFile();
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
string columnTitle = "";
try
{
//写入列标题
for (int i = 0; i < dgv.ColumnCount; i++)
{
if (i > 0)
{
columnTitle += "\t";
}
columnTitle += dgv.Columns[i].HeaderText;
}
sw.WriteLine(columnTitle);

//写入列内容
for (int j = 0; j < dgv.Rows.Count; j++)
{
string columnValue = "";
for (int k = 0; k < dgv.Columns.Count; k++)
{

if (k > 0)
{
columnValue += "\t";
}
if (dgv.Rows[j].Cells[k].Value == null)
columnValue += "";
else
{
columnValue += "'" + dgv.Rows[j].Cells[k].Value.ToString();

}
}
sw.WriteLine(columnValue);
}
sw.Close();
myStream.Close();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
finally
{
sw.Close();
myStream.Close();
}
}
}

======================
如何显示成文本呢
展开
 我来答
邀月饮尽百花洒
2011-05-17 · TA获得超过572个赞
知道小有建树答主
回答量:625
采纳率:14%
帮助的人:72.2万
展开全部
这个是你的数据源excel表中的格式问题。只要修改列的格式为“文本”就行了。
操作:在你的excel文件里,选择身份证那一列,点右键,然后选择“设置单元格格式”,把“数字”下面的“分类”,设置成“文本”。
追问
不管用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
seekel
2011-05-17 · TA获得超过201个赞
知道答主
回答量:199
采纳率:0%
帮助的人:168万
展开全部
你可以在导出身份证那一列的内容前加上一标点的——‘
追问
加上以后打开excel 就显示出'了
追答
只是单元格上显示个绿色小三角吧,如果不影响就算了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daidu999
2011-05-17 · TA获得超过129个赞
知道答主
回答量:152
采纳率:0%
帮助的人:78.9万
展开全部
设置导出时这个字段的类型
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式