OWC11导出Excel的应用

[size=large][b]最近在做项目中的导出Excel功能,要求不依赖office组件所以研究了一下OWC11下面是具体代码:[/b][/size]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//引入OWC11命名空间
using Microsoft.Office.Interop.Owc11;

namespace OwcExcel
{
/// <summary>
/// OWC11导出Excel操作类
/// </summary>
public class Excel
{
public void ExportExcel(string path)
{
SpreadsheetClass excel = new SpreadsheetClass();
//===========外观设置============//
//是否显示工具栏默认值为 true
excel.DisplayToolbar = true;

//取消显示Office图标
excel.DisplayOfficeLogo = true;

//是否显示列标题,默认是true
excel.DisplayColumnHeadings = true;

//是否显示行标题,默认是true
excel.DisplayRowHeadings = true;

//是否显示水平滚动条,默认为true
excel.DisplayHorizontalScrollBar = true;

//是否显示垂直滚动条,默认为true
excel.DisplayVerticalScrollBar = true;

//电子表格是否显示网格,默认为true
excel.DisplayGridlines = true;
//===========外观设置============//

//===========sheet具体设置============//
//在第三个sheet后添加5个sheet
excel.ActiveWorkbook.Sheets.Add(Type.Missing, (object)3, 5, XlSheetType.xlWorksheet);
//得到所有的sheet
Worksheets sheets = excel.Worksheets;
int index = 1;
//循环修改每个sheet的名字
foreach (Worksheet sheet in sheets)
{
sheet.Cells[1, 1] = "这是第" + index + "个sheet";
sheet.Name = index.ToString();
index++;
}
//拿到第一个sheet
Worksheet activesheet = (Worksheet)excel.Worksheets[1];

//得到第一行第一列到第二行第六列的区域
Range range = activesheet.get_Range(activesheet.Cells[1, 1], activesheet.Cells[2, 6]);
//合并第一行第一列到第二行第六列的区域
range.set_MergeCells(true);
//添加边框
range.Borders.set_LineStyle(XlLineStyle.xlContinuous);
//设置背景色
object bgcolor = "#F6F600";
range.Interior.set_Color(ref bgcolor);
//设置水平对齐
range.set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
//设置垂直对齐
range.set_VerticalAlignment(XlVAlign.xlVAlignCenter);
//设置内容
activesheet.Cells[1, 1] = "这里是合并区域";
//字体加粗
range.Font.set_Bold(true);
//设置字体颜色为红色
object color = "#008000";
range.Font.set_Color(ref color);
//设置字体大小
range.Font.set_Size(16);
//设置字体颜色
range.Font.set_ColorIndex(3);
//设置字体
range.Font.set_Name("隶书");
//设置字体为斜体
range.Font.set_Italic(true);
//设置字体下划线
range.Font.set_Underline(XlUnderlineStyle.xlUnderlineStyleDouble);
//设置自适应列宽
activesheet.Cells[1, 7] = "自适应列宽自适应列宽自适应列宽自适应列宽自适应列宽自适应列宽自适应列宽自适应列宽自适应列宽";
activesheet.Activate();
excel.ActiveSheet.Columns.AutoFit();
//===========sheet具体设置============//

//导出Excel
excel.Export(path, SheetExportActionEnum.ssExportActionNone, SheetExportFormat.ssExportXMLSpreadsheet);
}
}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值