版权声明:随便看,喜欢的话加我qq,一起讨论。 https://blog.csdn.net/qq_43687284/article/details/84175719
//该代码我自己测过没问题,有问题联系我,大家一起交流
public void DSToExcel(DataSet ds, string strTitle)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Excel files (*.xls)|*.xls";
saveFileDialog.FilterIndex = 0;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.CreatePrompt = false;
saveFileDialog.FileName = strTitle + ".xls";
if (saveFileDialog.ShowDialog() == DialogResult.Cancel)
//导出时,点击【取消】按钮
{
return;
}
Stream myStream = saveFileDialog.OpenFile();
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
string strHeaderText = "";
try
{
//写标题
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
if (i > 0)
{
strHeaderText += "\t";
}
strHeaderText += ds.Tables[0].Columns[i].ToString();
}
sw.WriteLine(strHeaderText);
//写内容
string strItemValue = "";
for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
{
strItemValue = "";
for (int k = 0; k < ds.Tables[0].Columns.Count; k++)
{
if (k > 0)
{
strItemValue += "\t";
}
strItemValue += ds.Tables[0].Rows[j][k].ToString();
}
sw.WriteLine(strItemValue); //把dgv的每一行的信息写为sw的每一行
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "软件提示");
throw ex;
}
finally
{
sw.Close();
myStream.Close();
}
}