All Projects → feng-haitao → Auto Excel

feng-haitao / Auto Excel

Licence: mit
A fast import and export tool for Excel.

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Auto Excel

accessibility-cloud
👩🏽‍🦯🦮👩🏻‍🦽👩🏿‍🦼 the platform to exchange physical accessibility data in a standardized, future-proof, easy-to-use way.
Stars: ✭ 37 (-72.59%)
Mutual labels:  poi
Easyexcel
快速、简单避免OOM的java处理Excel工具
Stars: ✭ 22,133 (+16294.81%)
Mutual labels:  poi
Poi Android
📈 Apache POI for Android
Stars: ✭ 77 (-42.96%)
Mutual labels:  poi
poi-mapper
Model to Excel, Excel to Model mapper based on apache poi, java reflection
Stars: ✭ 13 (-90.37%)
Mutual labels:  poi
Poi
☀️ Read and Write Excel file using Java and Apache POI
Stars: ✭ 321 (+137.78%)
Mutual labels:  poi
Uiutil
UIUtil for Android, Lyrics, Tick animations, Comparisons, Satellite menus, Praise, Slide buttons, TAB indicators, Contact sorting, Drag sorting, Skidding deletes, Shadow effects, RecyclerView nesting RecyclerView, Map list Poi/Drawer effects, Progress settings, Clock set, Damping, Progress, Album, Snap, Progress, CircleDownload, AdvertSwitcher, Carousel ad, FlowLayout, Tag...; 歌词控件、打勾动画、对比、卫星菜单、点赞、滑动按钮、TAB指示器、联系人排序、拖曳排序、侧滑删除、阴影效果.、RecyclerView嵌套RecyclerView.、地图列表Poi/抽屉效果、进度设置、时钟设置、滑动阻尼、相册媒体快照、圆形下载进度,轮播广告, 流式布局,标签...
Stars: ✭ 1,018 (+654.07%)
Mutual labels:  poi
bexhill-osm
A local mapping project using data from OpenStreetMap. Includes overlays, walking directions and historical information.
Stars: ✭ 16 (-88.15%)
Mutual labels:  poi
Poi
Scalable KanColle browser and tool.
Stars: ✭ 1,537 (+1038.52%)
Mutual labels:  poi
Excel Boot
Easy-POI是一款Excel导入导出解决方案组成的轻量级开源组件。
Stars: ✭ 347 (+157.04%)
Mutual labels:  poi
Myexcel
MyExcel, a new way to operate excel!
Stars: ✭ 1,198 (+787.41%)
Mutual labels:  poi
Poiji
🍬 A tiny library converting excel rows to a list of Java objects based on Apache POI
Stars: ✭ 255 (+88.89%)
Mutual labels:  poi
Excel4j
✨ Excel operation component based on poi & CSV ✨
Stars: ✭ 305 (+125.93%)
Mutual labels:  poi
Poi
Mirror of Apache POI
Stars: ✭ 1,136 (+741.48%)
Mutual labels:  poi
ExcelReads
ExcelReads(简单Excel通用读写器)
Stars: ✭ 46 (-65.93%)
Mutual labels:  poi
Jeeplatform
一款企业信息化开发基础平台,拟集成OA(办公自动化)、CMS(内容管理系统)等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,代码已经捐赠给开源中国社区
Stars: ✭ 1,285 (+851.85%)
Mutual labels:  poi
simple-excel
Generate excel sheets in Java
Stars: ✭ 85 (-37.04%)
Mutual labels:  poi
Styled Vue
Use dynamic styles in Vue single-file components.
Stars: ✭ 425 (+214.81%)
Mutual labels:  poi
Hy.common.report
报表、Excel操作类库。Java转Excel、Excel转Java
Stars: ✭ 124 (-8.15%)
Mutual labels:  poi
Officeproducer
Produce doc/docx/pdf format from doc/docx template
Stars: ✭ 95 (-29.63%)
Mutual labels:  poi
Ospider
开源矢量地理数据获取与预处理工具(POI/AOI/行政区/路网/土地利用)
Stars: ✭ 74 (-45.19%)
Mutual labels:  poi

中文 | English | Documentation

Why AutoExcel?

Excel import and export is very common in software development, as long as you are a programmer, you have met. I believe that many people will choose to use Apache POI to complete this work like me. While feeling the power of POI, my team also encountered the following problems:

  1. Directly use POI to operate Excel will generate a lot of hard code, you will hardly write row index and column index in the code.
  2. A large number of non-reusable format control codes, such as background color, alignment, cell style, etc.
  3. The implementation consultant clearly provided a ready-made template, but had to develop the code to implement it again, resulting in low development efficiency.
  4. Development resources have to be used when the template is adjusted.
  5. Simple export also requires specific code.

AutoExcel solves the above problems. It is very simple and only requires a small amount of code to complete complex import and export. When using it, programmers have no sense of import and export, that is, there is no need to directly manipulate POI. At the same time, the implementation consultant provides Excel is the import and export template, unless new data sources or fields are added, the template update does not need to use development resources.

AutoExcel does not over-encapsulate the POI, but makes full use of Excel's own feature-the name manager, through some tricks, the cell and the data source are mapped, thereby decoupling the programmer and the POI, and avoid hard code, so that import and export work becomes enjoyable and no longer boring.

Features

  • Export with template
    • Support multiple sheets
    • Support basic object and table data
    • A single sheet supports multiple data sources of variable length
    • Support horizontal filling of data
    • Automatically apply cell style
    • Auto fill in line number
    • Auto fill formula
    • Automatic summary
  • Export directly
    • Support multiple sheets
    • Export with basic style
    • Automatically adjust column width
  • Import
    • Support multiple sheets
    • Automatic data type conversion
  • Support millions of data import and export in seconds

Function preview

Before export After export
image image
image image
image image
image image

To achieve all of the above exports, you only need to write the following small amount of code (you need additional code to prepare the data source, for example, from the database. In the following example, use DataGenerator to generate demo data)

// Set export parameters, such as data source name, data source, etc.
List<TemplateExportPara> paras = new ArrayList<>();
paras.add(new TemplateExportPara("BusinessUnit", DataGenerator.genBusinessUnit()));
paras.add(new TemplateExportPara("Contract", DataGenerator.genContracts()));
paras.add(new TemplateExportPara("Project", DataGenerator.genProjects(1)));

List<Product> products = DataGenerator.genProducts(1);
TemplateExportPara para3 = new TemplateExportPara("Product", products);
// When a single sheet has multiple data sources, the data source above should be set to inserted
para3.setInserted(true);
paras.add(para3);

TemplateExportPara para5 = new TemplateExportPara("Product2", products);
// Horizontal fill
para5.setDataDirection(DataDirection.Right);
paras.add(para5);

// (Optional operation) Remove unnecessary sheets
ExcelSetting excelSetting = new ExcelSetting();
excelSetting.setRemovedSheets(Arrays.asList("will be removed"));

AutoExcel.save(this.getClass().getResource("/template/Export.xlsx").getPath(),
               this.getClass().getResource("/").getPath() + "AutoExcel.xlsx",
               paras,
               excelSetting);

Million data test

Unit: ms | | 10W rows and 10 columns of data | 100W rows and 10 columns of data | | ------------------------ | ------------------------------- | -------------------------------- | | Export with template | 6,258 | 23,540 | | Export directly | 5,711 | 24,952 | | Import | 4,466 | 21,595 | | Import + Type conversion | 4,823 | 26,279 |

Maven

<dependency>
  <groupId>net.fenghaitao</groupId>
  <artifactId>auto-excel</artifactId>
  <version>2.0.0</version>
</dependency>

For more functions, please go to Documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].