C# 关于对EXCEL的操作(Worksheet.PrintPreview)
我在程序里运行到Worksheet.PrintPreview就没反应了,有高手可以指点下么!sheet.get_Range("A1","A5").Value2="Sale...
我在程序里运行到Worksheet.PrintPreview就没反应了,有高手可以指点下么!sheet.get_Range("A1", "A5").Value2 = "Sales";
sheet.PrintPreview(false); //到这就死掉了,程序不动了
在线等,希望有高手可以解答下!
二楼答的不是我想要的,我是想要在程序中打印预览EXCEL,我可以调用sheet.PrintOut(1, 1, missing, missing, missing, missing, missing, missing); 进行打印,但是调用sheet.PrintPreview程序就不动了,也不报异常,郁闷中..... 展开
sheet.PrintPreview(false); //到这就死掉了,程序不动了
在线等,希望有高手可以解答下!
二楼答的不是我想要的,我是想要在程序中打印预览EXCEL,我可以调用sheet.PrintOut(1, 1, missing, missing, missing, missing, missing, missing); 进行打印,但是调用sheet.PrintPreview程序就不动了,也不报异常,郁闷中..... 展开
4个回答
展开全部
public static bool 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);
Worksheet wSheet = wBook.Worksheets[1] as Worksheet;
if (excelTable.Rows.Count > 0)
{
int row = 0;
row = excelTable.Rows.Count;
int col = excelTable.Columns.Count;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
string str = excelTable.Rows[i][j].ToString();
wSheet.Cells[i + 2, 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);
app.SaveWorkspace(filePath);
app.Quit();
app = null;
return true;
}
catch (Exception err)
{
MessageBox.Show("导出Excel出错!错误原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
finally
{
}
}
{
Microsoft.Office.Interop.Excel.Application app =
new Microsoft.Office.Interop.Excel.ApplicationClass();
try
{
app.Visible = false;
Workbook wBook = app.Workbooks.Add(true);
Worksheet wSheet = wBook.Worksheets[1] as Worksheet;
if (excelTable.Rows.Count > 0)
{
int row = 0;
row = excelTable.Rows.Count;
int col = excelTable.Columns.Count;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
string str = excelTable.Rows[i][j].ToString();
wSheet.Cells[i + 2, 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);
app.SaveWorkspace(filePath);
app.Quit();
app = null;
return true;
}
catch (Exception err)
{
MessageBox.Show("导出Excel出错!错误原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
finally
{
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是需要把你定义的Excel.Application 的visible 设置为true啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sheet.AppExcel.Visible = True
sheet.AppExcel.ActiveWorkbook.PrintPreview()
sheet.AppExcel.Visible = False
sheet.AppExcel.ActiveWorkbook.PrintPreview()
sheet.AppExcel.Visible = False
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关注
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询