gridView数据导入到Excel
2011-03-15 16:37
323 查看
#region 导出信息(公共方法) public void Export(DataGridView dgvExport,string strFileName,string strTips)
/// <summary>
/// 导出信息(公共方法)
/// </summary>
/// <param name="dgvExport">datagridview控件中的数据</param>
/// <param name="strFileName">文件名</param>
/// <param name="strTips">提示信息</param>
public void Export(DataGridView dgvExport,string strFileName,string strTips)
{
//判断控件中是否有数据
if (dgvExport.Rows.Count > 0)
{
//初始化导出对话框
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.DefaultExt = "xls";
saveFileDialog.Filter = "EXCEL文件(*.XLS)|*.xls";
saveFileDialog.FilterIndex = 0;
saveFileDialog.FileName = strFileName;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.CreatePrompt = true;
saveFileDialog.Title = "导出到EXCEL";
//弹出保存文件的对话框
saveFileDialog.ShowDialog();
//文件名为空的话,返回
if (saveFileDialog.FileName == "")
return;
//数据流声明
Stream myStream;
StreamWriter swOut;
//定义列名字符串
string strColumnText;
//初始化对象
myStream = saveFileDialog.OpenFile();
swOut = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
strColumnText = "";
//若控件中有数据,则执行操作
if (dgvExport.RowCount > 0)
{
//读取信息
try
{
//初始化列
for (int i = 0; i < dgvExport.ColumnCount; i++)
{
//只导出控件中可见的数据
if (dgvExport.Columns[i].Visible == true)
{
if (i > 0)
{
//制表符
strColumnText += "/t";
}
//获取列名字符串作为Excel文件中的列名
strColumnText += dgvExport.Columns[i].HeaderText;
}
}
//输出strColumnText
swOut.WriteLine(strColumnText);
//读取每一条数据的内容
for (int j = 0; j < dgvExport.Rows.Count; j++)
{
string tempStr = "";
for (int k = 0; k < dgvExport.Columns.Count; k++)
{
//只导出控件中可见的数据
if (dgvExport.Columns[k].Visible == true)
{
if (k > 0)
{
//制表符
tempStr += "/t";
}
//获取控件中非空单元格中的信息
if(dgvExport.Rows[j].Cells[k].Value!=null)
tempStr += dgvExport.Rows[j].Cells[k].Value.ToString();
}
}
//输出信息
swOut.WriteLine(tempStr);
}
}
//捕获异常
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
//关闭数据流
swOut.Close();
myStream.Close();
}
}
}
//控件中没有信息,给出提示
else
{
MessageBox.Show(strTips, "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endregion
/// <summary>
/// 导出信息(公共方法)
/// </summary>
/// <param name="dgvExport">datagridview控件中的数据</param>
/// <param name="strFileName">文件名</param>
/// <param name="strTips">提示信息</param>
public void Export(DataGridView dgvExport,string strFileName,string strTips)
{
//判断控件中是否有数据
if (dgvExport.Rows.Count > 0)
{
//初始化导出对话框
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.DefaultExt = "xls";
saveFileDialog.Filter = "EXCEL文件(*.XLS)|*.xls";
saveFileDialog.FilterIndex = 0;
saveFileDialog.FileName = strFileName;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.CreatePrompt = true;
saveFileDialog.Title = "导出到EXCEL";
//弹出保存文件的对话框
saveFileDialog.ShowDialog();
//文件名为空的话,返回
if (saveFileDialog.FileName == "")
return;
//数据流声明
Stream myStream;
StreamWriter swOut;
//定义列名字符串
string strColumnText;
//初始化对象
myStream = saveFileDialog.OpenFile();
swOut = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
strColumnText = "";
//若控件中有数据,则执行操作
if (dgvExport.RowCount > 0)
{
//读取信息
try
{
//初始化列
for (int i = 0; i < dgvExport.ColumnCount; i++)
{
//只导出控件中可见的数据
if (dgvExport.Columns[i].Visible == true)
{
if (i > 0)
{
//制表符
strColumnText += "/t";
}
//获取列名字符串作为Excel文件中的列名
strColumnText += dgvExport.Columns[i].HeaderText;
}
}
//输出strColumnText
swOut.WriteLine(strColumnText);
//读取每一条数据的内容
for (int j = 0; j < dgvExport.Rows.Count; j++)
{
string tempStr = "";
for (int k = 0; k < dgvExport.Columns.Count; k++)
{
//只导出控件中可见的数据
if (dgvExport.Columns[k].Visible == true)
{
if (k > 0)
{
//制表符
tempStr += "/t";
}
//获取控件中非空单元格中的信息
if(dgvExport.Rows[j].Cells[k].Value!=null)
tempStr += dgvExport.Rows[j].Cells[k].Value.ToString();
}
}
//输出信息
swOut.WriteLine(tempStr);
}
}
//捕获异常
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
//关闭数据流
swOut.Close();
myStream.Close();
}
}
}
//控件中没有信息,给出提示
else
{
MessageBox.Show(strTips, "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endregion
相关文章推荐
- GridView数据导入Excel
- 把Excel中的数据导入gridView显示,再导入数据库
- .net中将gridview数据导入excel中
- gridView导出数据到Excel...Excel导入数据到GridView
- asp.net中实现GridView中的数据导入到Excel中
- 多个GridView数据导入Excel中
- [asp.net]把gridview的数据导入excel
- 将GridView中的数据导入到EXCEL中!解决方案
- GridView与Excel数据导入导出
- GridView数据导入Excel/Excel数据读入GridView
- [导入]Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
- GridView数据导入Excel/Excel数据读入GridView?
- C#2005 Excel导入数据到GridView的类
- GridView数据导入Excel/Excel数据读入GridView
- 数据导入Excel/Excel数据读入GridView
- GridView数据以字符串形式导入Excel
- Gridview往Excel中导入数据出现中文乱码的解决办法?
- GridView数据导入Excel/Excel数据读入GridView
- GridView数据导入Excel/Excel数据读入GridView
- 使用GridView将数据导入或导出Excel中