c#定制操作Excel--com组件(共3种方法)

一、借助第三方插件

1、新建项目并引用=》com组件=》excel libary

或者时使用第三方开源freespire.xls

Workbook book = new Workbook();
            Worksheet sheet =  book.Worksheets[0];
            sheet.Name = "First Page";
            sheet.Range[1, 1].Text = "我的销售额 2019";
            sheet.Range[1, 2].Value = "月份";
            sheet.Range[1, 3].Value = "销售额";
            sheet.Range[1, 4].Value = "利润率";
            book.SaveToFile("1234.xlsx", ExcelVersion.Version2013);

C#使用FreeSpire.XLS创建Excel_谷凯Jump的博客-CSDN博客_c# 创建excel

2、嵌入式互操作更改为false

Application:Excel实例

WorkBook:相当于工作薄

WorkSheet:相当于工作表

Range:区域块

新建一个工作表:

excelapplication = new Application();
book = excelapplication.Workbooks.Add();
Worksheet sheet1 = (Worksheet)book.Worksheets.Add();
sheet1.Name = "lubin";
book.SaveAs(@"C:\Users\Lenovo\Pictures\PS2PNG\helloworld.xlsx");
excelapplication.Quit();

增加一个工作表

Workbook workbook = excelapplication.Workbooks.Open(@"C:\Users\Lenovo\Pictures\PS2PNG\helloworld1.xlsx");
Worksheet sheet1 = (Worksheet)workbook.Worksheets.Add();
sheet1.Name = "admin";
sheet1.Tab.Color = XlRgbColor.rgbRed;
workbook.Save() ;
excelapplication.Quit();

设置表的合并并居中

xlLineStyle:https://blog.csdn.net/beyondqd/article/details/51580254

  /// <summary>
        /// 合并居中
        /// </summary>
        public void Mergon(string title)
        {
            Workbook workbook = excelapplication.Workbooks.Open(@"C:\Users\Lenovo\Pictures\PS2PNG\"+this.Name+".xlsx");
            Worksheet sheet1 = (Worksheet)workbook.Worksheets.Add();
            sheet1.Name = "admin";
            sheet1.Tab.Color = XlRgbColor.rgbRed;
            Range range = sheet1.Range[sheet1.Cells[1, 1], sheet1.Cells[2, 10]];
            range.Merge();
            range.HorizontalAlignment = Constants.xlCenter;
            range.Value =  title;
            range.Font.Size = 20;
            range.Font.Bold = true;
            sheet1.Cells[3, 1] = "ID";
            Range r1 = sheet1.Range[sheet1.Cells[3,1], sheet1.Cells[3, 1]];
            r1.HorizontalAlignment = Constants.xlCenter;
            sheet1.Cells[3, 2] = "名称";
            sheet1.Cells[3, 3] = "单价";
            sheet1.Cells[3, 4] = "数量";
            workbook.Save();
            excelapplication.Quit();
        }

二、OLEDB

     优点:读取Excel速度相对调用COM组件来讲是非常的快,不需要安装Office Excel就可以使用。
        缺点:对于Excel本身一些复杂的逻辑,如单元格合并,单元格着色等无法支持。

三、

使用com组件

分析:

优势:可以非常灵活的读取Excel中的数据,而且使用方式很丰富,基本上凡是打开Office Excel软件能够用鼠标点击完成的事,使用VSTO调用COM组件都能完成,而且可以调用Excel自身带的宏方法等。

 缺点:机器上必须安装Excel,最重要的一点因为是基于单元格方式读取的,所以数据很慢。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工控匠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值