c#中将数据集导出为excel文件
来源:互联网 发布:9553软件下载。 编辑:程序博客网 时间:2024/04/29 02:35
#region 响应打印功能
private void btPrint_Click(object sender, EventArgs e)
{
print(ds);
}
#endregion
#region 得到导出数据的Excel路径 ************YRX完成
private void button1_Click(object sender, EventArgs e)
{
//打开保存对话框,得到Excel路径
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "Excel|*.xls|所有文件|*.*";
saveFileDialog1.Title = "Save an Excel File";
saveFileDialog1.ShowDialog();
//判断文件是否已经存在
string MyFileName=saveFileDialog1.FileName.ToString().Trim();
if(MyFileName.Length<1)
return;
//判断文件是否存在
if(File.Exists(MyFileName))
{
this.SaveFP2toExcel1(MyFileName,this.dsStockAccount);//不需要创建文件
}
else
{
this.SaveFP2toExcel2(MyFileName,this.dsStockAccount);//必须创建文件
}
}
#endregion
#region 写入Excel文档(不需要新建文件) ************YRX完成
/// <summary>
/// 写入Excel文档
/// </summary>
/// <param name="Path">文件名称</param>
/// <param name="ds2Excel">被导出的数据集</param>
public void SaveFP2toExcel1(string Path,DataSet ds2Excel)
{
try
{
//创建Excel应用程序
Excel.Application xApp=new Excel.ApplicationClass();
if (xApp == null)
{
MessageBox.Show("错误:Excel不能打开!");
return ;
}
//打开指定路径的Excel文件
Excel._Workbook xBook=xApp.Workbooks.Open(Path,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
Excel.Sheets xSheets=xBook.Worksheets;
Excel._Worksheet xSheet=(Excel._Worksheet) xSheets.get_Item(1);
if (xSheet == null)
{
MessageBox.Show("错误:工作表为空!");
return;
}
//写数据集表头
for(int k=0;k<ds2Excel.Tables[0].Columns.Count;k++)
xSheet.Cells[1,k+1]=ds2Excel.Tables[0].Columns[k].ColumnName.ToString().Trim();
//写数据集数据
for(int i=0;i<ds2Excel.Tables[0].Rows.Count ;i++)
{
for(int j=0;j<ds2Excel.Tables[0].Columns.Count;j++)
xSheet.Cells[i+2,j+1]=ds2Excel.Tables[0].Rows[i][j];
}
//保存文件
xBook.Save();
//显示文件
xApp.Visible = true;
//
//释放资源
//
Marshal.ReleaseComObject(xSheet) ;
xSheet=null ;
Marshal.ReleaseComObject(xSheets) ;
xSheets=null ;
Marshal.ReleaseComObject(xBook) ;
xBook=null ;
xApp.Quit();
Marshal.ReleaseComObject(xApp);
xApp = null ;
GC.Collect();//强行销毁
}
catch(Exception ex)
{
MessageBox.Show("写入Excel发生错误:"+ex.Message );
}
}
#endregion
#region 写入Excel文档(需要新建文件) ************YRX完成
/// <summary>
/// 写入Excel文档
/// </summary>
/// <param name="Path">文件名称</param>
/// <param name="ds2Excel">被导出的数据集</param>
public void SaveFP2toExcel2(string Path,DataSet ds2Excel)
{
try
{
//创建Excel应用程序
Excel.Application xApp=new Excel.ApplicationClass();
if (xApp == null)
{
MessageBox.Show("错误:Excel不能打开!");
return ;
}
object objOpt = Missing.Value;
Excel.Workbook xBook = xApp.Workbooks.Add(true) ;//添加新工作簿
Excel.Sheets xSheets = xBook.Sheets ;
Excel._Worksheet xSheet = null ;
//
//创建空的sheet
//
xSheet = (Excel._Worksheet)(xBook.Sheets.Add(objOpt,objOpt,objOpt,objOpt)) ;
if (xSheet == null)
{
MessageBox.Show("错误:工作表为空!");
return;
}
//写数据集表头
for(int k=0;k<ds2Excel.Tables[0].Columns.Count;k++)
xSheet.Cells[1,k+1]=ds2Excel.Tables[0].Columns[k].ColumnName.ToString().Trim();
//写数据集数据
for(int i=0;i<ds2Excel.Tables[0].Rows.Count ;i++)
{
for(int j=0;j<ds2Excel.Tables[0].Columns.Count;j++)
xSheet.Cells[i+2,j+1]=ds2Excel.Tables[0].Rows[i][j];
}
//保存文件
xBook.Saved = true ;
xBook.SaveCopyAs(Path) ;
//显示文件
xApp.Visible = true;
//
//释放资源
//
Marshal.ReleaseComObject(xSheet) ;
xSheet=null ;
Marshal.ReleaseComObject(xSheets) ;
xSheets=null ;
Marshal.ReleaseComObject(xBook) ;
xBook=null ;
xApp.Quit();
Marshal.ReleaseComObject(xApp);
xApp = null ;
GC.Collect();//强行销毁
}
catch(Exception ex)
{
MessageBox.Show("写入Excel发生错误:"+ex.Message );
}
}
#endregion
- c#中将数据集导出为excel文件
- C#中将ListView数据导出为excel
- 又一C#中将ListView数据导出为excel
- C#中将数据导出为EXCEL方式汇总
- C# WinForm程序中将DataGridView中的数据导出为EXCEL
- Qt中将QTableView中的数据导出为Excel文件
- Qt中将QTableView中的数据导出为Excel文件
- Qt中将QTableView中的数据导出为Excel文件
- wpf中将数据导出为Excel
- Extjs中将数据导出为Excel表格
- C#中将控件数据导出Excel
- .NET中将数据导出(导出)Excel文件
- C# web 把dataSet数据导出为Excel文件
- .net中将DataGridView内的数据导出为Excel表格
- java web中将数据导出为Excel格式文件代码片段
- asp.net中将DataGrid的内容导出为excel文件
- ASP.NET中将DataTable导出为Excel文件
- c#中将数据库数据导出到EXCEL中
- ASP.NET2.0数据库入门之常见错误
- 文件系统管理
- Opera 定制命令/按钮 - 语法指南
- 用UDP实现可靠文件传输
- 技术的困惑
- c#中将数据集导出为excel文件
- Oracle数据库分区表操作方法 --转
- 我的第一个blog
- GetStockObject的应用
- 使用C#制作 个性化窗体 winform 界面
- 我在做宠物的过程中对数据库的理解
- ASP与ACCESS数据库
- 窗体间参数传递&以及事件的简单理解
- 用ASP实现Access数据库查询