winForm中的excel导出对话框问题 要将winForm中的DataTable导出为excel文件,在导出前,弹出MessageBox对话框,包含"打开"、"保存"、"取消"三个按钮除了新建个Form外,还有没有其他方法可以实现,系统中有这个MessageBox吗?怎么用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主可以结贴给分了。 //保存到Excel public void SaveDataTableToExcel(System.Data.DataTable excelTable,string filePath) { Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.ApplicationClass(); try { //让后台执行设置为不可见 app.Visible = false; //新增加一个工作簿 Workbook wBook = app.Workbooks.Add(true); //如果要打开已有的工作簿,则使用下面的注释语句 // Workbook wBook = app.Workbooks.Open(@"C:\YourPath\YourWorkbook.xls", // missing, missing, missing, missing, missing, missing, missing, // missing, missing, missing, missing, missing,missing, missing); //取得一个工作表 //如果打开了已有的工作簿,也可以这样获取工作表Worksheet wSheet = wBook.ActiveSheet as Worksheet Worksheet wSheet = wBook.Worksheets[1] as Worksheet; if (excelTable.Rows.Count > 0) { int row = 0; row = excelTable.Rows.Count; int col = excelTable.Columns.Count; allsize = row; for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { string str = excelTable.Rows[i][j].ToString(); wSheet.Cells[i + 1, j + 1] = str; } } } int size = excelTable.Columns.Count; for (int i = 0; i < size; i++) { wSheet.Cells[1, 1 + i] = excelTable.Columns[i].ColumnName; } //设置禁止弹出保存和覆盖的询问提示框 app.DisplayAlerts = false; app.AlertBeforeOverwriting = false; //保存工作簿 wBook.Save(); //保存excel文件 app.Save(filePath + "\\导出excel.xls"); } catch(Exception err) { MessageBox.Show("导入Excel出错!错误原因:"+ err.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { //确保Excel进程关闭 app.Quit(); app = null; } } 哦,对了,excel是不会给你返回什么MessageBox的。 VS2005开发Office 关于C#windows API的所有例子,提供一个也给分 C#连接Oracle存图片的问题,急了 将Windows服务的“允许服务与桌面交互”设置为true 释放资源问题 我又回来了,问个菜问题:C#如何操作access数据库? 真是本烂书,装箱拆箱操作讲的云里雾里地,谁能给我说说,我愚笨啊. 广州找工作并不是很容易啊,时代变了要完了 启动调试报错 socket异步方法接收数据后传给主程序 GridView重绘问题 winForm里自定义控件间的赋值问题(高手进)
//保存到Excel
public void SaveDataTableToExcel(System.Data.DataTable excelTable,string filePath)
{
Microsoft.Office.Interop.Excel.Application app =
new Microsoft.Office.Interop.Excel.ApplicationClass();
try
{
//让后台执行设置为不可见
app.Visible = false;
//新增加一个工作簿
Workbook wBook = app.Workbooks.Add(true);
//如果要打开已有的工作簿,则使用下面的注释语句
// Workbook wBook = app.Workbooks.Open(@"C:\YourPath\YourWorkbook.xls",
// missing, missing, missing, missing, missing, missing, missing,
// missing, missing, missing, missing, missing,missing, missing); //取得一个工作表
//如果打开了已有的工作簿,也可以这样获取工作表Worksheet wSheet = wBook.ActiveSheet as Worksheet
Worksheet wSheet = wBook.Worksheets[1] as Worksheet;
if (excelTable.Rows.Count > 0)
{
int row = 0;
row = excelTable.Rows.Count;
int col = excelTable.Columns.Count;
allsize = row; for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
string str = excelTable.Rows[i][j].ToString();
wSheet.Cells[i + 1, j + 1] = str;
}
}
} int size = excelTable.Columns.Count;
for (int i = 0; i < size; i++)
{
wSheet.Cells[1, 1 + i] = excelTable.Columns[i].ColumnName;
} //设置禁止弹出保存和覆盖的询问提示框
app.DisplayAlerts = false;
app.AlertBeforeOverwriting = false;
//保存工作簿
wBook.Save();
//保存excel文件
app.Save(filePath + "\\导出excel.xls");
}
catch(Exception err)
{
MessageBox.Show("导入Excel出错!错误原因:"+ err.Message, "错误提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
//确保Excel进程关闭
app.Quit();
app = null;
}
}