c#中转出Excel并控制格式

能够通过相关代码生成一个excel表格,并能对表格样式等进行控制
public void ExportExcel()
             {
                   //创建一个 Excel 实例
                   ExcelApplication excel = new ExcelApplication();
                   try
                   {                      
                         excel.Visible = false;// 不显示 Excel 文件,如果为 true 则显示 Excel 文件
                         excel.Workbooks.Add(Missing.Value);// 添加工作簿
                         Worksheet sheet = (Worksheet)excel.ActiveSheet;// 获取当前工作表
                         Range range = null;// 创建一个空的单元格对象
                         sheet.get_Range(sheet.Cells[29, 2], sheet.Cells[29, 2]).Orientation = Microsoft.Office.Interop.Excel.XlOrientation.xlVertical;//设置29行第2个单元格的字体竖直居中在单元格内
                         range = sheet.get_Range("A1", Missing.Value);// 获取单个单元格
                         range.RowHeight = 20;                // 设置行高
                         range.ColumnWidth = 20;             // 设置列宽
                         range.Borders.LineStyle = 1;      // 设置单元格边框
                         range.Font.Bold = true;             // 加粗字体
                         range.Font.Size = 20;                // 设置字体大小                     
   range.Font.ColorIndex =5;// 设置字体颜色 1:黑色;2:白色;3:红色;4:绿色;5:蓝色              
                         range.Interior.ColorIndex = 6;   // 设置单元格背景色


                         range.Interior.ColorIndex = 6;   // 设置单元格背景色
                         range.HorizontalAlignment = XlHAlign.xlHAlignCenter;// 设置单元格水平居中
                         range.VerticalAlignment = XlVAlign.xlVAlignCenter;// 设置单元格垂直居中
                         range.Value2 = "设置行高和列宽";// 设置单元格的值


                         range = sheet.get_Range("B2", "D4");// 获取多个单元格
                         range.Merge(Missing.Value);             // 合并单元格
                         range.Columns.AutoFit();                  // 设置列宽为自动适应
                         range.NumberFormatLocal = "#,##0.00";// 设置单元格格式为货币格式
                         // 设置单元格左边框加粗
                         range.Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;
                         // 设置单元格右边框加粗
                         range.Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;
                         range.Value2 = "合并单元格";
range = sheet.get_Range("A1", "C15");// 获取多个单元格
                         range.Cells.Borders.LineStyle = 1;//设置全边框

                         // 页面设置
                         sheet.PageSetup.PaperSize = XlPaperSize.xlPaperA4;               // 设置页面大小为A4
                         sheet.PageSetup.Orientation = XlPageOrientation.xlPortrait; // 设置垂直版面
                         sheet.PageSetup.HeaderMargin = 0.0;                                     // 设置页眉边距
                         sheet.PageSetup.FooterMargin = 0.0;                                     // 设置页脚边距
                         sheet.PageSetup.LeftMargin = excel.InchesToPoints(0.354330708661417); // 设置左边距
                         sheet.PageSetup.RightMargin = excel.InchesToPoints(0.354330708661417);// 设置右边距
                         sheet.PageSetup.TopMargin = excel.InchesToPoints(0.393700787401575);   // 设置上边距
                         sheet.PageSetup.BottomMargin = excel.InchesToPoints(0.393700787401575);// 设置下边距
                         sheet.PageSetup.CenterHorizontally = true;                           // 设置水平居中

                         // 如需打印文件
                    //    sheet.PrintOut(Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

                         // 保存文件到程序运行目录下
                        
                         sheet.SaveAs("D:\\hope.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                         excel.ActiveWorkbook.Close(false, null, null); // 关闭 Excel 文件且不保存
                         MessageBox.Show("生成成功!");
                   }
                   catch (Exception ex)
                   {
                         MessageBox.Show(ex.Message);
                   }
             }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值