QXlsx::Document xlsx;
1.设置列宽或者行高:
函数原型:
bool Document::setColumnWidth(int column, double width)
示例:
xlsx.setColumnWidth(第几列, 列宽);
函数原型:
bool Document::setColumnWidth(int colFirst, int colLast, double width)
示例:
xlsx.setColumnWidth(开始列, 结束列, 列宽);
xlsx.setRowHeight(第几行, 行高);
xlsx.setRowHeight(第几行, 结束行, 行高);
实例
1.1 写入表格
函数原型:
bool write(const CellReference &cell, const QVariant &value, const Format &format = Format());
参数1:单元格名;参数2:单元格的值;参数3:单元格格式
xlsx.write("A1", "FB3:电力安全工器具台账");
合并单元格:
xlsx.mergeCells("A1:N1", titleFormat);
2.设置单元格样式:
QXlsx::Format titleFormat;
2.1设置垂直对齐格式
函数原型:
void Format::setVerticalAlignment(VerticalAlignment align)
示例:
titleFormat.setVerticalAlignment(Format::VerticalAlignment::AlignVCenter);//格式垂直居中
垂直对齐各种样式如下:
enum VerticalAlignment {
AlignTop, //顶端对齐
AlignVCenter, //垂直居中
AlignBottom, //底部对齐
AlignVJustify, //两端对齐
AlignVDistributed
};
2.2设置水平对齐格式
示例:
titleFormat.setHorizontalAlignment(Format::VerticalAlignment::AlignLeft);
水平对齐各种样式如下:
enum HorizontalAlignment {
AlignHGeneral,
AlignLeft, //左对齐
AlignHCenter,//水平居中对齐
AlignRight, //右对齐
AlignHFill,
AlignHJustify,
AlignHMerge,
AlignHDistributed
};
2.3 字体大小和加粗
titleFormat.setFontBold(true); //加粗
titleFormat.setFontSize(8); //字体大小为8
如下雨所示,一些加粗不不加的对比,中间的第二第三行为14号字体,其余为8号字体
2.3 设置边框样式,自动换行等
Format headerFormat;
未设置的效果:
添加薄边框
headerFormat.setBorderStyle(Format::BorderThin);
自动换行
headerFormat.setTextWarp(true);//自动换行
设置后:
边框样式有如下:
enum BorderStyle {
BorderNone, //无边框,默认
BorderThin, //薄边框
BorderMedium,
BorderDashed, //虚线边框
BorderDotted, //点线边框
BorderThick,
BorderDouble,
BorderHair,
BorderMediumDashed,
BorderDashDot,
BorderMediumDashDot,
BorderDashDotDot,
BorderMediumDashDotDot,
BorderSlantDashDot
};