1、进入链接:如何将 Spire.XLS for C++ 集成到 C++ 程序中,按照步骤,将Spire.XLS for C++安装在VS中,进行操作。
1、首先初始化Excel需要的属性:
#include "Spire.Xls.o.h";
typedef intrusive_ptr<Worksheet> WorkSheet;
typedef intrusive_ptr <CellStyle> Cellstyle;
typedef intrusive_ptr<IXLSRange> ixlSRange;
Workbook* workbook = new Workbook();
//Get(0)中的数字是声明获取Excel中的第几个sheet
WorkSheet sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(0));
Cellstyle style = dynamic_pointer_cast<CellStyle>(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);
目前使用到的只有这么多,欢迎补充!