Qt使用xlsx对操作excel表格常用函数及解析,绘制边框线.自动换行等

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
    };

猜你喜欢

转载自blog.csdn.net/qq_44667165/article/details/128385273