利用GemBox.ExcelLite.dll导出到Excel(脱离Excel环境)
来源:互联网 发布:优化门诊服务流程 编辑:程序博客网 时间:2024/06/08 18:38
利用GemBox.ExcelLite.dll脱离Excel环境,把DataGridView数据导出到Excel文件。
public void DataGridView2Excel_GemBox(DataGridView dgv)
{
#region 导出前判断
//行数必须大于0
if (dgv.Rows.Count <= 0)
{
MessageBox.Show("没有数据可供导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//列数必须大于0
if(dgv.Columns.Count<=0)
{
MessageBox.Show("没有数据可供导出!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
//行数不可以大于65536
if(dgv.Rows.Count>65536)
{
MessageBox.Show("数据记录数太多(最多不能超过65536条),不能保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
//列数不可以大于256
if(dgv.Columns.Count>256)
{
MessageBox.Show("数据记录数太多(最多不能超过256列),不能保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
#endregion
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "Excel files (*.xls)|*.xls";
dlg.FilterIndex = 0;
dlg.RestoreDirectory = true;
dlg.CreatePrompt = false;
dlg.Title = "导出为Excel文件";
if (dlg.ShowDialog() == DialogResult.OK)
{
ExcelFile excelFile = new ExcelFile();
ExcelWorksheet sheet = excelFile.Worksheets.Add("Account");
try
{
//向Excel中写入表格的表头
for (int i = 0; i < dgv.Columns.Count; i++)
{
sheet.Cells[0, i].Value = dgv.Columns[i].HeaderText;
}
//向Excel中写入表格的数据
for (int i = 0; i < dgv.Rows.Count; i++)
{
DataGridViewRow row = dgv.Rows[i];
for (int j = 0; j < row.Cells.Count; j++)
{
sheet.Cells[i + 1, j].Value = row.Cells[j].Value;
}
}
excelFile.SaveXls(dlg.FileName);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
MessageBox.Show(dlg.FileName + "\n\n导出完毕!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
{
#region 导出前判断
//行数必须大于0
if (dgv.Rows.Count <= 0)
{
MessageBox.Show("没有数据可供导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//列数必须大于0
if(dgv.Columns.Count<=0)
{
MessageBox.Show("没有数据可供导出!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
//行数不可以大于65536
if(dgv.Rows.Count>65536)
{
MessageBox.Show("数据记录数太多(最多不能超过65536条),不能保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
//列数不可以大于256
if(dgv.Columns.Count>256)
{
MessageBox.Show("数据记录数太多(最多不能超过256列),不能保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
#endregion
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "Excel files (*.xls)|*.xls";
dlg.FilterIndex = 0;
dlg.RestoreDirectory = true;
dlg.CreatePrompt = false;
dlg.Title = "导出为Excel文件";
if (dlg.ShowDialog() == DialogResult.OK)
{
ExcelFile excelFile = new ExcelFile();
ExcelWorksheet sheet = excelFile.Worksheets.Add("Account");
try
{
//向Excel中写入表格的表头
for (int i = 0; i < dgv.Columns.Count; i++)
{
sheet.Cells[0, i].Value = dgv.Columns[i].HeaderText;
}
//向Excel中写入表格的数据
for (int i = 0; i < dgv.Rows.Count; i++)
{
DataGridViewRow row = dgv.Rows[i];
for (int j = 0; j < row.Cells.Count; j++)
{
sheet.Cells[i + 1, j].Value = row.Cells[j].Value;
}
}
excelFile.SaveXls(dlg.FileName);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
MessageBox.Show(dlg.FileName + "\n\n导出完毕!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
- 利用GemBox.ExcelLite.dll导出到Excel(脱离Excel环境)
- GemBox.ExcelLite "完美"的导入Excel的控件
- 利用GemBox库转换Excel格式
- GemBox.ExcelLite破解版,可以在没有安装Office的情况,使用.net代码操作Excel文件
- 完全脱离excel的导出
- 完全脱离excel的导出
- 使用npoi.dll导出数据到excel
- Excel.dll 导出Excel控制
- 快速导出数据到Excel(一):利用剪贴板
- 快速导出数据到Excel(二):利用临时文件
- 利用模板导出数据到Excel中
- 利用PHPExcel导出数据到excel
- java利用poi导出数据到excel
- C#利用NOPI导出到Excel
- 利用PHPExcel导出数据到excel
- 利用poi数据导出到excel demo
- C#利用excel文件结构实现导出到excel
- .net导出数据到Excel (安装office excel环境情况)
- android Failed to install *.apk on device *:timeout
- GemBox.ExcelLite "完美"的导入Excel的控件
- 软件设计建模(UML关系图)
- 嵌入式工程师应该学什么?--转至英创公司
- map的三种遍历方法
- 利用GemBox.ExcelLite.dll导出到Excel(脱离Excel环境)
- firefox与OPERA相比的优劣
- 主键与唯一索引的区别(收藏)
- 大文件上传 进度条显示 (仿csdn资源上传效果)
- Using your laptop to compute PageRank for millions of webpages
- [android]如何让设备键盘的自动大写与自动替换功能起作用
- WaitForSingleObject和 WaitForMultipleObjects
- MPEG4标准
- C/C++文件输入输出操作——FILE*、fstream、windowsAPI