1、进入链接:如何将 Spire.XLS for C++ 集成到 C++ 程序中,按照步骤,将Spire.XLS for C++安装在VS中,进行操作。
1、首先初始化Excel需要的属性:
- #include "Spire.Xls.o.h";
- typedef intrusive_ptr
WorkSheet; - typedef intrusive_ptr
Cellstyle; - typedef intrusive_ptr
ixlSRange; - Workbook* workbook = new Workbook();
- //Get(0)中的数字是声明获取Excel中的第几个sheet
- WorkSheet sheet = dynamic_pointer_cast
(workbook->GetWorksheets()->Get(0)); - Cellstyle style = dynamic_pointer_cast
(workbook->GetStyles()->Add(L"newStyle"));
2、初始化完毕后,其实大部分设置都在sheet->GetRange()中,意思是获取目前表单sheet的其中某个单元格或者单元格范围。
sheet->GetRange(1,2) //获取sheet中第一行第二列单元格
sheet->GetRange(1,1,2,2)//获取sheet中第一行第一列到第二行第二列的所有单元格,然后就可以对这些单元格进行设置了
下面我将给大家介绍我常用的一些操作(欢迎补充):
1、合并单元格
- //合并(1,1)->(3,7)之间所有的单元格
- sheet->GetRange(1, 1, 3, 7)->Merge();
2、设置列宽
- 设置(1,1)->(3,7)范围内所有单元格的列宽
- sheet->GetRange(1, 1, 3, 7)->SetColumnWidth(15);
3、填充数据
- //设置(1,1)单元格中的内容为报表1
- sheet->GetRange(1, 1)->SetText(L"报表1");
- //设置(1,1)->(3,5)合并单元格中的内容为报表2
- sheet->GetRange(1, 1,3,5)->SetText(L"报表2");
4、字体加粗
- //(1,1)的单元格内的内容进行加粗
- sheet->GetRange(1,1)->GetStyle()->GetFont()->SetIsBold(true);
- //(1,1)->(3,7)合并单元格内的内容进行加粗
- sheet->GetRange(1,1,3,7)->GetStyle()->GetFont()->SetIsBold(true);
5、内容水平居中、垂直居中
- //内容水平居中
- sheet->GetRange(1, 1, 3, 7)->GetStyle()->SetHorizontalAlignment(HorizontalAlignType::Center);
- //内容垂直居中
- sheet->GetRange(1, 1, 3, 7)->GetStyle()->SetVerticalAlignment(VerticalAlignType::Center);
6、设置单元格边框
- //(1,1)->(3,7)所有单元格被黑色细线包裹
- sheet->GetRange(1,1,3,7)->BorderAround(Spire::Xls::LineStyleType::Thin,ExcelColors::Black);
目前使用到的只有这么多,欢迎补充!