Winform 导出成Excel打印

该博客介绍了如何在WinForm应用程序中实现Excel文件的无界面打印预览功能,详细讲解了设置Excel格式的步骤,无需显示Excel窗口。
摘要由CSDN通过智能技术生成


WinForm中 直接调用Excel的打印预览功能,但不显示Excel文件

using Microsoft.Office.Interop.Excel; //引用

public void PrintPriviewExcelFile(string filePath)
{
            Microsoft.Office.Interop.Excel.ApplicationClass xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
            xlApp.Visible = true;
            object oMissing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(filePath, 0, true, 5, oMissing, oMissing, true, 1, oMissing, false, false, oMissing, false, oMissing, oMissing);
            Microsoft.Office.Interop.Excel.Worksheet xlWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkbook.Worksheets[1];
            xlWorksheet.PrintPreview(null);
            xlApp.Visible = false;
            xlWorksheet = null;
        }

设置Excel的格式

private _Workbook _workBook = null;
private Worksheet _workSheet = null;
private Excel.Application _excelApplicatin = null;

_excelApplicatin = new Excel.Application();
_excelApplicatin.Visible = true;
_excelApplicatin.DisplayAlerts = true;

_workBook = _excelApplicatin.Workbooks.Add(XlSheetType.xlWorksheet);
_workSheet = (Worksheet)_workBook.ActiveSheet;
_workSheet.Name = "workSheetName";

//打开已存在的Excel
            string strExcelPathName = AppDomain.CurrentDomain.BaseDirectory + "excelSheetName.xls";
            Excel.Workbook workBook = application.Workbooks.Open(strExcelPathName, Type.Missing, Type.Missing,
              Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
              Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
           //读取已打开的Excel
            Excel.Worksheet workSheet1 = (Excel.Worksheet)workBook.Sheets["SheetName1"];
            Excel.Worksheet workSheet2 = (Excel.Worksheet)workBook.Sheets["SheetName2"];        

            //添加一个workSheet
            Worksheet workSheet = (Worksheet)workBook.Worksheets.Add(System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);

//RowHeight   "1:1"表示第一行, "1:2"表示,第一行和第二行 
((Excel.Range)_workSheet.Rows["1:1", System.Type.Missing]).RowHeight = 100;

//ColumnWidth "A:B"表示第一列和第二列, "A:A"表示第一列
((Excel.Range)_workSheet.Columns["A:B", System.Type.Missing]).ColumnWidth = 10;

// EXCEL操作(需要冻结的字段 按住ALT+W 再按F)
            Excel.Range excelRange = _workSheet .get_Range(_workSheet .Cells[10, 5], _workSheet .Cells[10, 5]);
            excelRange.Select();
            excelApplication.ActiveWindow.FreezePanes = true;

//Borders
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值