JAVA导出EXCEL类(TSV格式)

合集下载

导出excel工具类及导出导入

导出excel工具类及导出导入

导出excel⼯具类及导出导⼊package com.shinho.dc3.master.util;

import com.github.pagehelper.util.StringUtil;

import com.shinho.dc3.master.exception.BusinessException;

import com.shinho.dc3.master.req.ExcelSet;

import ermodel.HSSFWorkbook;

import ermodel.*;

import org.apache.poi.ss.util.CellRangeAddress;

import ermodel.*;

import org.springframework.util.StringUtils;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.io.UnsupportedEncodingException;

import java.util.List;

/**

* Copyright (C), 2018-2019, 烟台欣和企业⾷品有限公司

* fileName ExcelUtil

JAVA实现导出excel功能,封装通用导出工具类

JAVA实现导出excel功能,封装通用导出工具类

JAVA实现导出excel功能,封装通⽤导出⼯具类

引⼊maven

<!--excel导出-->

<dependency>

<groupId>net.sourceforge.jexcelapi</groupId>

<artifactId>jxl</artifactId>

<version>2.6.12</version>

</dependency>

<!--⼯具包-->

<dependency>

<groupId>cn.hutool</groupId>

<artifactId>hutool-all</artifactId>

<version>[4.1.12,)</version>

</dependency>

<dependency>

<groupId>mons</groupId>

<artifactId>commons-lang3</artifactId>

</dependency>

<!--lombok插件-->

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

java生成excel模板导出

java生成excel模板导出

java生成excel模板导出

getTimeStr方法:

public static String getTimeStr(Date date, String format) {

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);

return simpleDateFormat.format(date);

}

createExcelModel方法全部代码:

public static HSSFWorkbook createExcelModel()throws Exception{ HSSFWorkbook wb = new HSSFWorkbook();//创建工作薄

HSSFSheet sheet = wb.createSheet("任务模板");//新建工作表

HSSFRow row = sheet.createRow((short)0);//创建行

row.setHeightInPoints((short)20);//设置excel单元格高度

HSSFRichTextString text = null;

HSSFFont font = wb.createFont();

font.setColor(HSSFFont.COLOR_RED);

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

HSSFCellStyle style = wb.createCellStyle();

style.setFont(font);

java导出Excel格式设置

java导出Excel格式设置

jxltest.javaimport java.io.File;import java.io.FileOutputStream;import jxl.Workbook;import jxl.format.BorderLineStyle;import jxl.format.VerticalAlignment;import bel;import jxl.write.Number;import jxl.write.WritableFont;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;public class jxltest{public static void main(String [] args){String templatePath = "c:\\template.xls";//模板文件名String outFileStr = "c:\\test.xls";//测试文件名(输出文件)try{//创建小字体:Arial,大小为8号,非粗体,非斜体WritableFont wf = new WritableFont(WritableFont.ARIAL, 8,WritableFont.NO_BOLD, false);//字体颜色为红色wf.setColour(jxl.format.Colour.RED);//创建大字体:Arial,大小为18号,粗体,非斜体WritableFont Bwf = new WritableFont(WritableFont.ARIAL, 18,WritableFont.NO_BOLD, false);Bwf.setColour(jxl.format.Colour.RED);//创建单元格格式:设置水平对齐为向右对齐jxl.write.WritableCellFormat RwcfF = new jxl.write.WritableCellFormat(wf);RwcfF.setAlignment(jxl.write.Alignment.RIGHT);//创建单元格格式:设置水平对齐为向左对齐jxl.write.WritableCellFormat LwcfF = new jxl.write.WritableCellFormat(wf);LwcfF.setAlignment(jxl.write.Alignment.LEFT);//创建单元格格式:设置水平对齐为居中对齐jxl.write.WritableCellFormat CwcfF = new jxl.write.WritableCellFormat(wf);CwcfF.setAlignment(jxl.write.Alignment.CENTRE);jxl.write.WritableCellFormat CBwcfF = new jxl.write.WritableCellFormat(Bwf);CBwcfF.setAlignment(jxl.write.Alignment.CENTRE);//设置垂直对齐为居中对齐CBwcfF.setVerticalAlignment(VerticalAlignment.CENTRE);//设置顶部边框线为实线(默认是黑色--也可以设置其他颜色)CBwcfF.setBorder(jxl.format.Border.TOP, BorderLineStyle.MEDIUM);//设置右边框线为实线CBwcfF.setBorder(jxl.format.Border.RIGHT, BorderLineStyle.MEDIUM);//设置顶部框线为实线CBwcfF.setBorder(jxl.format.Border.BOTTOM, BorderLineStyle.MEDIUM);jxl.write.WritableCellFormat CMwcfF = new jxl.write.WritableCellFormat(wf);CMwcfF.setAlignment(jxl.write.Alignment.LEFT);//设置垂直对齐为向上对齐CMwcfF.setVerticalAlignment(VerticalAlignment.TOP);CMwcfF.setWrap(true);File tFile = new File(templatePath);//创建模板文件对象File outFile = new File(outFileStr);//创建输出文件对象//创建文件输出流对象FileOutputStream os = new FileOutputStream(outFile);//模板工作簿对象Workbook tBook = Workbook.getWorkbook(tFile);//输出工作簿对象WritableWorkbook wbook = Workbook.createWorkbook(os, tBook);//在坐标为(0,0)的单元格写入"测试"字符串使用8号红色小字体,向右对齐wsheet.addCell(new Label(0, 0, "test", RwcfF));//在坐标为(1,1)的单元格写入"test"字符串使用8号红色小字体,向左对齐wsheet.addCell(new Label(1, 1, "test", LwcfF));//在坐标为(2,2)的单元格写入"测

java实现导出Excel(跨行跨列)

java实现导出Excel(跨行跨列)

java实现导出Excel(跨行跨列)

在Java中,可以使用Apache POI库来实现导出Excel文件,并且可以实现跨行和跨列的功能。Apache POI是一个开源的Java库,可以处理Microsoft Office格式的文档,包括Excel。

以下是使用Apache POI库实现导出Excel文件的步骤:

1. 首先,需要引入Apache POI依赖。可以在Maven或Gradle中添加以下依赖项:

```xml

<!-- Apache POI -->

<dependency>

<groupId>org.apache.poi</groupId>

<artifactId>poi</artifactId>

<version>4.1.2</version>

</dependency>

<dependency>

<groupId>org.apache.poi</groupId>

<artifactId>poi-ooxml</artifactId>

<version>4.1.2</version>

</dependency>

2. 创建一个Workbook对象,该对象代表一个Excel文件:

```java

Workbook workbook = new XSSFWorkbook(;

```

3. 创建一个Sheet对象,该对象代表Excel文件中的一个工作表:

java excel导入导出总结

java excel导入导出总结

java excel导入导出总结

Java是一种常用的编程语言,它具有很多强大的功能和库,可以用来处理各种各样的任务。其中之一就是处理Excel文件的导入和导出操作。在本文中,我们将总结一下Java中如何进行Excel的导入和导出操作,并介绍一些常用的技巧和注意事项。

一、Excel的导入操作

在Java中,我们可以使用Apache POI库来进行Excel文件的导入操作。首先,我们需要在项目中引入Apache POI的相关依赖。然后,我们可以通过以下步骤来实现Excel的导入:

1. 创建一个Workbook对象,用于表示Excel文件。

2. 根据文件路径或输入流创建一个InputStream对象,用于读取Excel文件的内容。

3. 根据文件的扩展名(xls或xlsx),创建一个合适的Workbook实现类的对象。

4. 通过Workbook对象的getSheet()方法获取一个Sheet对象,用于表示Excel文件中的一个工作表。

5. 遍历Sheet对象的每一行和每一列,读取单元格中的数据。

注意事项:

- 在读取单元格数据时,我们需要根据单元格的类型来选择合适的读取方法。例如,如果单元格中的数据是字符串类型,我们可以使

用getStringCellValue()方法来读取。

- 在处理日期类型的数据时,我们可以使用DateUtil类来将Excel 中的日期值转换为Java中的Date对象。

- 在遍历行和列时,我们可以使用for循环或迭代器来实现。

二、Excel的导出操作

与Excel的导入操作类似,我们同样可以使用Apache POI库来进行Excel文件的导出操作。下面是导出Excel文件的一般步骤:

javaexcel导出(可自定义导出列)

javaexcel导出(可自定义导出列)

javaexcel导出(可⾃定义导出列)

import java.beans.PropertyDescriptor;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import ng.reflect.Field;

import ng.reflect.Method;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Date;

import java.util.Iterator;

import java.util.List;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import ermodel.HSSFCell;

import ermodel.HSSFCellStyle;

import ermodel.HSSFClientAnchor;

import ermodel.HSSFComment;

import ermodel.HSSFFont;

import ermodel.HSSFPatriarch;

import ermodel.HSSFRichTextString;

import ermodel.HSSFRow;

import ermodel.HSSFSheet;

java导出excel

java导出excel

设置excel的导出格式因为ms word和excel的文档都支持html文本格式,因此可以先用word或excel做好模版,另存为Web页,然后将该html改成jsp,将数据部分动态填入即可,不用很辛苦的调整格式word页面只要在jsp头设置如下指令:<%@page c %>excel如下:<%@page c %>使用这种方式客户端必须安装有office软件,用户访问时将在ie中直接用word或excel打开该页面。此方法优势是模板设计、调整方便,无需在服务器端使用复杂的POI或jxl技术,也无需在客户端使用ActiveX控件技术,更安全、方便,轻松实现较好的打印效果。 ///////////////////////////////////////////*******************************************************************************************试试看从网页中把表格直接生成excel,虽然不是直接从sql到excel,不过反而更加方便而且人性化。。网上倒是找到了不少的资料,发现一段javascript的功能实现代码,很不错:var elTable = document.getElementById("tb"); var oRangeRef = document.body.createTextRange(); oRangeRef.moveToElementText( elTable ); oRangeRef.execCommand( "Copy" ); var appExcel = new ActiveXObject( "Excel.Application" ); appExcel.Visible = true; appExcel.Workbooks.Add().Worksheets.Item(1).Paste(); appExcel = null;实现功能就是把id为tb的表格内的数据都生成为excel,我试试了可行,但是放到服务器来运行就是script error的提示,然后网上到处求问,也找了百度空间的几位高手朋友问了下,可是还是不得其法。。不过还是很感谢他们的热心帮助。没办法,我只能用别的方法来实现了,其实满喜欢上面的这个javascript的功能的,比较人性化。。可惜我黔驴技穷,无法用上它,哎!~既然我帮客户用jsp写的程序,那么我就还是用jsp来实现这个功能吧。。于是找到了这么一个方法:原文出自:.tw/viewitem.jsp?itemid=0000000065***************************************************************************************************一、将网页资料以excel报表以线上浏览方式呈现 xls651.jsp原始码如下 <%@ page c %><%
response.setHeader("Content-disposition","inline; filename=test1.xls");
//以上这行设定传送到前端浏览器时的档名为test1.xls
//就是靠这一行,让前端浏览器以为接收到一个excel档
%>Excel档案呈现方式姓名身份证字号生日李玟N1111111111900/11/12梁静如N2222222221923/10/1张惠妹N3333333331934/12/18二、将网页资料以e

Java导入导出Excel工具类ExcelUtil

Java导入导出Excel工具类ExcelUtil

Java导⼊导出Excel⼯具类ExcelUtil

导出就是将List转化为Excel(listToExcel)

导⼊就是将Excel转化为List(excelToList)

导⼊导出中会出现各种各样的问题,⽐如:数据源为空、有重复⾏等,我⾃定义了⼀个ExcelException异常类,⽤来处理这些问题。

异常类

导出⼯具类:

public Map<String,Object> exportMessageExcelFile(String title, String[] headers,List dossierList, OutputStream out, String pattern)

{

boolean flag = true;

Map<String,Object> map = new HashMap<String,Object>();

StringBuffer messageFile = new StringBuffer();

// 声明⼀个⼯作薄

HSSFWorkbook workbook = new HSSFWorkbook();

// ⽣成⼀个表格

HSSFSheet sheet = workbook.createSheet(title);

// 设置表格默认列宽度为15个字节

sheet.setDefaultColumnWidth((short) 15);

// ⽣成⼀个样式

HSSFCellStyle style = workbook.createCellStyle();

java生成excel(多级表头)导出

java生成excel(多级表头)导出

java⽣成excel(多级表头)导出

依赖⼯具包

<dependencies>

<dependency>

<groupId>cn.hutool</groupId>

<artifactId>hutool-all</artifactId>

<version>5.3.5</version>

</dependency>

</dependencies>

该⼯具包是对 Apache POI包的分装

private void export(HttpServletResponse response, String fileName, List<?> projects, List<SummarizeDownloadColumns> columns) throws IOException { ExcelWriter bigWriter = ExcelUtil.getBigWriter();

//创建⼀⾏空表头占个位置

bigWriter.writeHeadRow(new LinkedList());

//创建需要展⽰的的⼆级表头,{filedName,中⽂名}

int lastCol = 0;

for (int i = 0; i < columns.size(); i++) {

if (columns.get(i).getChildren() != null) {

for (int j = 0; j < columns.get(i).getChildren().size(); j++) {

用java实现Excel导入导出(easyExcel)

用java实现Excel导入导出(easyExcel)

⽤java实现Excel导⼊导出(easyExcel)

前⼏个⽉系统主要功能完结撒花,只剩下后台系统的报表。为满⾜客户的需求,我需要将⽤户给的excel表数据导⼊到系统中,开始我没有怎么关注的这个业务,我却花费了很久很久的时间。客户的需求⼀直在变,excel表格也⼀直在变。我原本使⽤的是poi,从⼀开始的莫名其妙的报错,数据类型的转换错误,到各种的异常抓取,我的代码也越来越长。这时候我寻找到了⼀个很⽅便且简单的⼯具easyExcel。

测试前准备

⾸先映⼊excel⼯具的maven依赖

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>easyexcel</artifactId>

<version>3.0.1</version>

</dependency>

这⾥先准备下实体对象⽅便后⾯操作,这⾥写两个字节码去接受,是我⾃⼰的使⽤感受。导出的数据是从系统⾥来,我们能保持系统内的数据的正确性,但是要导⼊的数据是来⾃⽤户,我们不能保证其正确性,所以统⼀拿字符串接受,这⾥就不会存在数字等转换异常了。

//导出使⽤的实体

@Data

public class Demo {

@ExcelProperty(value = "⽤户名")

private String username;

@ExcelProperty(value = "密码")

private String password;

JAVA导出EXCEL类(TSV格式)

JAVA导出EXCEL类(TSV格式)

package com.bear.util;

import java.io.*;

import javax.swing.*;

import javax.swing.table.*;

public class ExcelUtil {

public void exportTable(JTable table,String title) throws IOException {

TableModel model = table.getModel();

JFileChooser fileChooser = new JFileChooser();

fileChooser.setCurrentDirectory(new File("."));//设置当前目录

fileChooser.setAcceptAllFileFilterUsed(false);

fileChooser.addChoosableFileFilter(new javax.swing.filechooser.FileFilter() {

public boolean accept(File file) {

if (file.isDirectory())

return true;

return (file.getName().indexOf("xls") != -1);

}

public String getDescription() {

return "Microsoft Excel文件(*.xls)";

}

});

//fileChooser.showSaveDialog(null);

java导出excel通用方法

java导出excel通用方法

java导出excel通⽤⽅法⾸先需要引⼊的jar包:

正式代码了。

import java.io.FileOutputStream;

import java.io.OutputStream;

import .URLEncoder;

import javax.servlet.http.HttpServletResponse;

import ermodel.HSSFCell;

import ermodel.HSSFCellStyle;

import ermodel.HSSFFont;

import ermodel.HSSFRow;

import ermodel.HSSFSheet;

import ermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.CellRangeAddress;

import org.apache.poi.hssf.util.HSSFColor;

@SuppressWarnings( { "deprecation" })

public class Test46 {

public static void main(String[] args) throws Exception {

String sheetName = "⽤车统计表单";

String titleName = "⽤车申请数据统计表";

String fileName = "⽤车申请统计表单";

int columnNumber = 3;

int[] columnWidth = { 10, 20, 30 };

java中的export方法实现导出excel文件

java中的export方法实现导出excel文件

java中的export⽅法实现导出excel⽂件

⽬录

1.export函数

2.导出列名

3.export实现⽅法

4.前端对接

5.前端代码

1.export函数

//导出⽂件接⼝

public String export(){

return this.myExport(exportList);

}

2.导出列名

private String myExport(List<BusinessDept> list){

com.bronzesoft.power.tools.json.JSONObject info = new com.bronzesoft.power.tools.json.JSONObject();

try{

List<String> headList = new ArrayList<String>(Arrays.asList("年", "⽉", "部门","部门负责⼈","经营值","收⼊", "⽀出","填报⼯时","标准⼯时","经营参数")); Commonutil.export(list,headList,"部门经营总览导出");

info = Commonutil.setInfo(info,"部门经营总览导出");

}catch (Exception e){

LogUtil.error(this.getClass().getName()+".exportExcel()", e);

}

return info.toString();

}

3.export实现⽅法

⾸先,理解⼀下⼀个Excel的⽂件的组织形式,⼀个Excel⽂件对应于⼀个workbook(XSSFWorkbook),⼀个workbook可以有多个sheet(XSSFSheet)组成,⼀个sheet是由多个row(XSSFRow)组成,⼀个row是由多个cell(XSSFCell)组成。

java 使用jxl技术excel文件进行导入和导出实验用到的知识与技术

java 使用jxl技术excel文件进行导入和导出实验用到的知识与技术

java 使用jxl技术excel文件进行导入和导出实验用

到的知识与技术

Java是一种流行的编程语言,而JXL技术是一种用于处理Excel文件的Java库。在本文中,我们将一步一步地介绍如何使用JXL技术导入和导出Excel文件。我们将从JXL技术的概述开始,然后讨论如何导入Excel文件,接着是如何导出Excel文件。

JXL技术是一个基于Java的开源库,用于读取、写入和操作Microsoft Excel文件。它提供了一组API,可以方便地处理Excel文件中的单元格、行和列。不仅可以读取现有的Excel文件,还可以创建新的Excel文件并在其中写入数据。JXL技术支持Excel的各种版本,包括xls和xlsx格式。

接下来,我们将讨论如何导入Excel文件。首先,我们需要在项目中引入JXL库的依赖。在Maven项目中,我们可以将以下依赖添加到pom.xml 文件中:

xml

net.sourceforge.jexcelapi

jxl

2.6.12

一旦我们引入了JXL依赖,我们就可以使用它的API来导入Excel文件。首先,我们需要创建一个Workbook对象,它代表整个Excel文件。我们可以使用Workbook类的静态方法getWorkbook()来打开一个现有的Excel文件,例如:

java

Workbook workbook = Workbook.getWorkbook(new

File("path/to/excel.xls"));

在Workbook对象上,我们可以执行各种操作,例如获取特定的工作表、读取单元格的值等。例如,我们可以使用以下代码读取第一个工作表的

javaexcel动态字段导出的方法

javaexcel动态字段导出的方法

javaexcel动态字段导出的方法

### Java Excel动态字段导出的方法

在Java应用程序中,Excel文件的动态字段导出是一项常见需求,尤其是在报表生成和数据分析的场景下。以下将详细介绍如何使用Java实现动态字段导出到Excel的方法。

#### 1.准备工作

- 确保你的项目中引入了Apache POI库,这是一个强大的Java库,用于处理Microsoft Office文档。

- 创建一个Excel模板,如果你需要固定某些表头或者样式。

#### 2.实现动态字段导出的步骤

##### 步骤1:定义数据模型

首先,定义一个Java对象来表示Excel表中的数据模型。

```java

public class DataModel {

private String fieldName1;

private int fieldNumber2;

// 其他字段...

// 省略getter和setter方法

}

```

##### 步骤2:创建Excel工作簿

```java

import ermodel.*;

import ermodel.XSSFWorkbook; Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("数据");

Row headerRow = sheet.createRow(0);

```

##### 步骤3:设置表头

动态设置表头,可以根据实际需求添加或减少字段。

```java

String[] headers = {"字段1", "字段2", "字段3"};

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

package com.bear.util;

import java.io.*;

import javax.swing.*;

import javax.swing.table.*;

public class ExcelUtil {

public void exportTable(JTable table,String title) throws IOException {

TableModel model = table.getModel();

JFileChooser fileChooser = new JFileChooser();

fileChooser.setCurrentDirectory(new File("."));//设置当前目录

fileChooser.setAcceptAllFileFilterUsed(false);

fileChooser.addChoosableFileFilter(new javax.swing.filechooser.FileFilter() {

public boolean accept(File file) {

if (file.isDirectory())

return true;

return (file.getName().indexOf("xls") != -1);

}

public String getDescription() {

return "Microsoft Excel文件(*.xls)";

}

});

//fileChooser.showSaveDialog(null);

int returnVal =fileChooser.showSaveDialog(fileChooser);

if (returnVal == JFileChooser.APPROVE_OPTION) {

File file = fileChooser.getSelectedFile();

if (file.exists()) {

int copy = JOptionPane.showConfirmDialog(null,"是否要覆盖当前文件?", "保存", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);

if (copy == JOptionPane.YES_OPTION)

fileChooser.approveSelection();

else

return;

}

else

fileChooser.approveSelection();

FileWriter out = new FileWriter(file);

out.write(title + "\n\n");

for(int i=0; i < model.getColumnCount(); i++)

out.write(model.getColumnName(i) + "\t");

out.write("\n");

for(int i=0; i< model.getRowCount(); i++) {

for(int j=0; j < model.getColumnCount(); j++) {

out.write(model.getValueAt(i,j).toString()+"\t");

}

out.write("\n");

}

out.close();

JOptionPane.showMessageDialog(null, "EXCEL文件导出成功!","成功",RMATION_MESSAGE);

}

}

}

相关文档
最新文档