• Stars
    star
    197
  • Rank 197,722 (Top 4 %)
  • Language
    Java
  • Created almost 8 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Excel表格生成工具

ZzExcelCreator

Excel表格生成工具

项目地址:https://github.com/zhouzhuo810/ZzExcelCreator (欢迎star!)

效果图:

excel1.jpg excel2.jpg excel3.jpg

最近做项目用到jxl.jar来生成Excel表格;

但是发现jxl源码都没有注释的,方法也没有说明, 虽然最后在网上找到了对应的方法。

不过这不是我的style,果断自己封装一下,添加注释。

下面介绍一下用法:

Gradle:

	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}
	dependencies {
	        implementation 'com.github.zhouzhuo810:ZzExcelCreator:1.0.9'
	}

创建Excel文件和工作表

        ZzExcelCreator
                .getInstance()
                .createExcel(filePath, fileName)  //生成excel文件
                .createSheet(sheetName)        //生成sheet工作表
                .close();

添加工作表

        ZzExcelCreator
                .getInstance()
                .openExcel(new File(filePath + fileName + ".xls"))  //如果不想覆盖文件,注意是openExcel
                .createSheet(sheetName)
                .close();

打开Excel文件和工作表

        ZzExcelCreator
                .getInstance()
                .openExcel(new File(filePath + fileName + ".xls"))  //打开Excel文件
                .openSheet(0)                                   //打开Sheet工作表
                ... ...
                .close();

设置单元格内容格式:

        //设置单元格内容格式
        WritableCellFormat format = ZzFormatCreator
                .getInstance()
                .createCellFont(WritableFont.ARIAL)  //设置字体
                .setAlignment(Alignment.CENTRE, VerticalAlignment.CENTRE)  //设置对齐方式(水平和垂直)
                .setFontSize(14)                    //设置字体大小
                .setFontColor(Colour.ROSE)          //设置字体颜色
                .setFontBold(true)                  //设置是否加粗,默认false
                .setUnderline(true)                 //设置是否画下划线,默认false
                //.setDoubleUnderline(true)         //设置是否画双重下划线,默认false,和setUnderline只有一个生效
                .setItalic(true)                    //设置是否斜体
                .setWrapContent(true, 100)          //设置是否自适应宽高,如果自适应,必须设置最大列宽(不能太大,否则可能无效)。
                .setBackgroundColor(ColourUtil.getCustomColor1("#99cc00"))  //设置单元格背景颜色,如果不设置边框,边框色会和背景色一致。
                .setBorder(Border.LEFT, BorderLineStyle.THIN, ColourUtil.getCustomColor2("#dddddd"))  //设置左边边框样式
                .setBorder(Border.TOP, BorderLineStyle.THIN, ColourUtil.getCustomColor2("#dddddd"))  //设置顶部边框样式
                .getCellFormat();

设置行高、列宽和写入字符串或数字

写入数字

        ZzExcelCreator
                .getInstance()
                .openExcel(new File(PATH + fileName + ".xls"))
                .openSheet(0)
                .setColumnWidth(colInt, 25)   //设置列宽(如果自适应宽度,代表内容字节的长度,即str.getBytes().length)
                .setRowHeight(rowInt, 400)    //设置行高,单位为磅的20倍
                .fillContent(colInt, rowInt, str, format)  //填入字符串
                .fillNumber(colInt, rowInt, Double.parseDouble(str), format)  //填入数字
                .close();

写入字符串

        ZzExcelCreator
                .getInstance()
                .openExcel(new File(PATH + fileName + ".xls"))
                .openSheet(0)
                .setColumnWidth(colInt, 25)      //设置列宽(如果自适应宽度,代表内容字节的长度,即str.getBytes().length)
                .setRowHeightLikeWPS(rowInt, 26) //设置行高同WPS,单位磅
                .fillContent(colInt, rowInt, str, format)  //填入字符串
                .fillNumber(colInt, rowInt, Double.parseDouble(str), format)  //填入数字
                .close();

写入图片

        ZzExcelCreator
                .getInstance()
                .openExcel(new File(PATH + fileName + ".xls"))
                .openSheet(0)
                .fillImage(Integer.parseInt(col), Integer.parseInt(row),
                        Double.parseDouble(width), Double.parseDouble(height),
                        new File(filePath))
                .close();
         //注意插入图片的宽高的单位为行高或列宽的倍数。

读取单元格内容

        ZzExcelCreator zzExcelCreator = ZzExcelCreator
                .getInstance()
                .openExcel(new File(filePath + fileName + ".xls"))
                .openSheet(0);
        //读取单元格内容
        String content =  zzExcelCreator.getCellContent(colInt, rowInt);
        //别忘了close
        zzExcelCreator.close();

自定义颜色

    //注意调用此方法必须保证ZzExcelCreator.getInstance().getWritableWorkbook()不为空。
    Colour colour1 = ColourUtil.getCustomColor1("#99cc00");
    Colour colour2 = ColourUtil.getCustomColor2("#99cc00");
    Colour colour3 = ColourUtil.getCustomColor3("#99cc00");
    Colour colour4 = ColourUtil.getCustomColor4("#99cc00");
    Colour colour5 = ColourUtil.getCustomColor5("#99cc00");
    Colour colour6 = ColourUtil.getCustomColor6("#99cc00");

注意一定别忘了close。

最后就是,这些操作最好在子线程操作。

More Repositories

1

ZzHorizontalProgressBar

水平进度条,支持渐变色和二级进度
Java
220
star
2

OkUSB

一个简洁的Android串口通信框架。
Java
102
star
3

ZzBeeLayout

A nice Image ViewGroup like honeycomb.
Java
75
star
4

CameraCardCropDemo

一个卡片(证件)拍照裁剪框架。
Java
65
star
5

ZzWeatherView

仿墨迹天气最近15天天气视图
Java
59
star
6

ZzImageBox

🔥 Android图片显示容器,支持本地图片和网络图片;支持添加和显示模式;
Java
42
star
7

StringKiller

一个简洁的Android Studio插件。用于一键将layout文件夹中的android:text或android:hint字符串资源提取到strings.xml中。
Java
31
star
8

ZzLettersSideBar

A SideBar of letters for Contacts like WeChat(ZzLettersSideBar)
Java
25
star
9

ZzHorizontalCalenderView

A horizontal and scrollable CalenderView.
Java
14
star
10

ZzSecondaryLinkage

A Secondary Linkage ListView with refreshing and loading more.
Java
14
star
11

ZzRatingBar

Java
7
star
12

ZzPagerIndicator

A powerful custom indicator for Android ViewPager.
Java
6
star
13

ZzHttp

A http framework for simply GET and POST.
Java
4
star
14

BLEHelper

蓝牙BLE调试助手
Java
3
star
15

ZzFragmentTabHost

A powerful FragmentTabhost.
Java
3
star
16

ZzAndFrame

🔥 一个多功能Andriod开发框架
Java
2
star
17

ColorfulRatioBar

you can cutomize 3 - 5 kind of color or 3 - 5 kind of ratio with for a bar
Java
2
star
18

MagpieX

A Android Develop Framwork
Java
2
star
19

BlogBackup

博客备份
HTML
2
star
20

Magpie

🔥 A powerful Android Develop Framework for Mobile, Pad And TV.
Java
1
star
21

ZzNoteDesktop

小周便签桌面客户端
Java
1
star
22

ZzSQLHelper

A powerful sqlite framework that supports ORM and Cursor mode.
Java
1
star
23

ZzNoteQt

ZzNote for Desktop with QT
QML
1
star
24

ApiCreator

Android-强大的接口文档转代码工具
Java
1
star