「java表格模板下载」免费下载表格模板

博主:adminadmin 2022-12-22 23:27:07 60

今天给各位分享java表格模板下载的知识,其中也会对免费下载表格模板进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求java excel导出完整模板例子,最好附上jar包

package cn.com.jsoft.utils;

import java.io.OutputStream;

import java.io.UnsupportedEncodingException;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.jsp.PageContext;

import jxl.SheetSettings;

import jxl.Workbook;

import jxl.format.Alignment;

import jxl.format.Colour;

import jxl.format.VerticalAlignment;

import jxl.write.Label;

import jxl.write.WritableCellFormat;

import jxl.write.WritableFont;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

/**

 * jxl导出excel

 * @author jamboree

 * @date  2013-11-28

 */

public class JxlExcelUtils {

    /**

     * @author 

     * @param objData 导出内容数组

     * @param sheetName 导出工作表的名称

     * @param columns 导出Excel的表头数组

     * @return

     */

    public static int exportToExcel(HttpServletResponse response, ListMapString, Object objData, String sheetName,ListString columns) {

        int flag = 0;

        //声明工作簿jxl.write.WritableWorkbook

        WritableWorkbook wwb;

        try {

            //根据传进来的file对象创建可写入的Excel工作薄

            OutputStream os = response.getOutputStream();

            

            wwb = Workbook.createWorkbook(os);

            /*

             * 创建一个工作表、sheetName为工作表的名称、"0"为第一个工作表

             * 打开Excel的时候会看到左下角默认有3个sheet、"sheet1、sheet2、sheet3"这样

             * 代码中的"0"就是sheet1、其它的一一对应。

             * createSheet(sheetName, 0)一个是工作表的名称,另一个是工作表在工作薄中的位置

             */

            WritableSheet ws = wwb.createSheet(sheetName, 0);

            

            SheetSettings ss = ws.getSettings();

            ss.setVerticalFreeze(1);//冻结表头

            

            WritableFont font1 =new WritableFont(WritableFont.createFont("微软雅黑"), 10 ,WritableFont.BOLD);

            WritableFont font2 =new WritableFont(WritableFont.createFont("微软雅黑"), 9 ,WritableFont.NO_BOLD);

            WritableCellFormat wcf = new WritableCellFormat(font1);

            WritableCellFormat wcf2 = new WritableCellFormat(font2);

            WritableCellFormat wcf3 = new WritableCellFormat(font2);//设置样式,字体

            //创建单元格样式

            //WritableCellFormat wcf = new WritableCellFormat();

            //背景颜色

            wcf.setBackground(jxl.format.Colour.YELLOW);

            wcf.setAlignment(Alignment.CENTRE);  //平行居中

            wcf.setVerticalAlignment(VerticalAlignment.CENTRE);  //垂直居中

            wcf3.setAlignment(Alignment.CENTRE);  //平行居中

            wcf3.setVerticalAlignment(VerticalAlignment.CENTRE);  //垂直居中

            wcf3.setBackground(Colour.LIGHT_ORANGE);

            wcf2.setAlignment(Alignment.CENTRE);  //平行居中

            wcf2.setVerticalAlignment(VerticalAlignment.CENTRE);  //垂直居中

            /*

             * 这个是单元格内容居中显示

             * 还有很多很多样式

             */

            wcf.setAlignment(Alignment.CENTRE);

            //判断一下表头数组是否有数据

            if (columns != null  columns.size()  0) {

                //循环写入表头

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

                    /*

                     * 添加单元格(Cell)内容addCell()

                     * 添加Label对象Label()

                     * 数据的类型有很多种、在这里你需要什么类型就导入什么类型

                     * 如:jxl.write.DateTime 、jxl.write.Number、jxl.write.Label

                     * Label(i, 0, columns[i], wcf)

                     * 其中i为列、0为行、columns[i]为数据、wcf为样式

                     * 合起来就是说将columns[i]添加到第一行(行、列下标都是从0开始)第i列、样式为什么"色"内容居中

                     */

                    ws.addCell(new Label(i, 0, columns.get(i), wcf));

                }

                //判断表中是否有数据

                if (objData != null  objData.size()  0) {

                    //循环写入表中数据

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

                        //转换成map集合{activyName:测试功能,count:2}

                        MapString, Object map = (MapString, Object)objData.get(i);

                        //循环输出map中的子集:既列值

                        int j=0;

                        for(Object o:map.keySet()){

                            //ps:因为要“”通用”“导出功能,所以这里循环的时候不是get("Name"),而是通过map.get(o)

                            ws.addCell(new Label(j,i+1,String.valueOf(map.get(o))));

                            j++;

                        }

                    }

                }else{

                    flag = -1;

                }

                //写入Exel工作表

                wwb.write();

                //关闭Excel工作薄对象 

                wwb.close();

                

                //关闭流

                os.flush();

                os.close();

                

                os =null;

            }

        }catch (IllegalStateException e) {

            System.err.println(e.getMessage());

        }

        catch (Exception ex) {

            flag = 0;

            ex.printStackTrace();

        }

        return flag;

    }

    /**

     * 下载excel

     * @author 

     * @param response

     * @param filename 文件名 ,如:20110808.xls

     * @param listData 数据源

     * @param sheetName 表头名称

     * @param columns 列名称集合,如:{物品名称,数量,单价}

     */

    public static void exportexcle(HttpServletResponse response,String filename,ListMapString, Object listData,String sheetName,ListString columns)

    {

        //调用上面的方法、生成Excel文件

        response.setContentType("application/vnd.ms-excel");

        //response.setHeader("Content-Disposition", "attachment;filename="+filename);

        try {

            response.setHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("gb2312"), "ISO8859-1") + ".xls");

            exportToExcel(response, listData, sheetName, columns);

        } catch (UnsupportedEncodingException e) {

            e.printStackTrace();

        } 

    }

}

调用的时候:

jxlUtils.exportexcle(response, filename, listData, sheetName, columns);

response.setHeader("Content-Disposition", "attachment;filename=" + new 

String(filename.getBytes("gb2312"), "ISO8859-1") + ".xls");

在哪能下载javaweb项目模板

可以在开源中国网站上面下载源码

GitHub上面上面下载,搜索框中输入自己想找的模板名称

CSDN社区上面可以下载项目模板

这是我常常下载的三个地方,希望能帮到你。

java项目中怎么实现jsp页面Excel模板下载并弹框。

controller层关键代码:

@RequestMapping(value = "/excel")

public ModelAndView exportExcel() throws Exception {

ModelAndView mv = new ModelAndView();

PageData pd = new PageData();

pd = this.getPageData();

MapString, Object dataMap = new HashMapString, Object();

ListString titles = new ArrayListString();

titles.add("办事处"); // 1

titles.add("当日新增扫码商户(个)"); // 2

titles.add("当日交易笔数(笔)"); // 3

titles.add("当日交易金额"); // 4

titles.add("当日收益"); // 5

titles.add("累计新增扫码商户(个)"); // 6

titles.add("累计交易笔数(笔)"); // 7

titles.add("累计交易金额"); // 8

titles.add("累计收益"); // 9

dataMap.put("titles", titles);

Page page = new Page();

page.setPd(pd);

ListPageData varOList = agencyService.list(page);

ListPageData varList = new ArrayListPageData();

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

PageData vpd = new PageData();

vpd.put("var1", varOList.get(i).get("AGENCYNAME").toString()); // 1

vpd.put("var2", varOList.get(i).get("TODAYINSTALL").toString()); // 2

vpd.put("var3", varOList.get(i).get("TODAYTRANS").toString()); // 3

vpd.put("var4", varOList.get(i).get("TODAYPRICE").toString()); // 4

vpd.put("var5", varOList.get(i).get("TODAYPAYMENT").toString()); // 5

vpd.put("var6", varOList.get(i).get("TOTALINSTALL").toString()); // 6

vpd.put("var7", varOList.get(i).get("TOTALTRANS").toString()); // 7

vpd.put("var8", varOList.get(i).get("TOTALPRICE").toString()); // 8

vpd.put("var9", varOList.get(i).get("TOTALPAYMENT").toString()); // 9

varList.add(vpd);

}

dataMap.put("varList", varList);

ObjectExcelView erv = new ObjectExcelView();

mv = new ModelAndView(erv, dataMap);

return mv;

}

POI生成EXCEL关键代码:

public class ObjectExcelView extends AbstractExcelView{

@SuppressWarnings("deprecation")

@Override

protected void buildExcelDocument(MapString, Object model,

HSSFWorkbook workbook, HttpServletRequest request,

HttpServletResponse response) throws Exception {

// TODO Auto-generated method stub

Date date = new Date();

String filename = Tools.date2Str(date, "yyyyMMddHHmmss");

HSSFSheet sheet;

HSSFCell cell;

response.setContentType("application/octet-stream");

response.setHeader("Content-Disposition", "attachment;filename="+filename+".xls");

sheet = workbook.createSheet("sheet1");

ListString titles = (ListString) model.get("titles");

int len = titles.size();

HSSFCellStyle headerStyle = workbook.createCellStyle(); //标题样式

headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

headerStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

HSSFFont headerFont = workbook.createFont(); //标题字体

headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

headerFont.setFontHeightInPoints((short)11);

headerStyle.setFont(headerFont);

short width = 20,height=25*20;

sheet.setDefaultColumnWidth(width);

for(int i=0; ilen; i++){ //设置标题

String title = titles.get(i);

cell = getCell(sheet, 0, i);

cell.setCellStyle(headerStyle);

setText(cell,title);

}

sheet.getRow(0).setHeight(height);

HSSFCellStyle contentStyle = workbook.createCellStyle(); //内容样式

contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

ListPageData varList = (ListPageData) model.get("varList");

int varCount = varList.size();

for(int i=0; ivarCount; i++){

PageData vpd = varList.get(i);

for(int j=0;jlen;j++){

String varstr = vpd.getString("var"+(j+1)) != null ? vpd.getString("var"+(j+1)) : "";

cell = getCell(sheet, i+1, j);

cell.setCellStyle(contentStyle);

setText(cell,varstr);

}

}

}

}

java写了一个下载excel的功能,我想把用户下载的模版的所有单元格都变成文本格式。该如何写呢?

public void export(ListPSbLnode li, String dateString,String[] title) throws WriteException, IOException {

// 准备设置excel工作表的标题

// 创建Excel工作薄

WritableWorkbook wwb = null;

try {

// 输出的excel的路径

String filePath1 = Const.pathStr+Const.pathStr4+Const.pathStr3;

File file = new File(filePath1);

if(!file.exists()){

file.mkdir();

}

String filePath=filePath1+Const.pathStr4+Const.pathStr6+dateString+Const.pathStr5;

// 新建立一个jxl文件,即在C盘下生成testJXL.xls

OutputStream os = new FileOutputStream(filePath);

wwb = Workbook.createWorkbook(os);

// 添加第一个工作表并设置第一个Sheet的名字

WritableSheet sheet = wwb.createSheet("设备清单", 0);

Label label;

for (int i = 0; i title.length; i++) {

// Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z

// 在Label对象的子对象中指明单元格的位置和内容

label = new Label(i, 0, title[i]);

// 将定义好的单元格添加到工作表中

sheet.addCell(label);

}

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

int j = 0;

j = i + 1;

//填充单元格

//获取区域名称

label = new Label(0, j, li.get(i).getQyName());

sheet.addCell(label);

//获取区域名称

label = new Label(1, j, li.get(i).getJzName());

sheet.addCell(label);

//获取设备名称

label = new Label(2, j, li.get(i).getLnodeName());

sheet.addCell(label);

// //获取设备类型名称

label = new Label(3, j, li.get(i).getSbxh());

sheet.addCell(label);

//获取运行状态

label = new Label(4, j, li.get(i).getYxzh());

sheet.addCell(label);

//获取删除状态

label = new Label(5, j, li.get(i).getDeleteFlag());

sheet.addCell(label);

//获取启用状态

label = new Label(6, j, li.get(i).getQyzt());

sheet.addCell(label);

//获取设备投运日期

label = new Label(7, j, li.get(i).getSbtyri());

sheet.addCell(label);

//获取使用年限

jxl.write.Number numb1 = new jxl.write.Number(8, j, li.get(i).getSynx());

sheet.addCell(numb1);

//获取区域名称

label = new Label(9, j, li.get(i).getAddUser());

sheet.addCell(label);

//获取区域名称

label = new Label(10, j, li.get(i).getUpdUser());

sheet.addCell(label);

//获取区域名称

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String newdate = sdf.format(li.get(i).getUpdTime());

label = new Label(11, j, newdate);

sheet.addCell(label);

//获取区域名称

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");

String newdate2 = sdf2.format(li.get(i).getAddTime());

label = new Label(12, j, newdate2);

sheet.addCell(label);

//获取区域名称

label = new Label(13, j, li.get(i).getZcbh());

sheet.addCell(label);

//获取区域名称

label = new Label(14, j, li.get(i).getSbcs());

sheet.addCell(label);

//获取区域名称

jxl.write.Number numb2 = new jxl.write.Number(15, j, li.get(i)

.getSbll());

sheet.addCell(numb2);

//获取区域名称

label = new Label(16, j, li.get(i).getRldw());

sheet.addCell(label);

//获取区域名称

label = new Label(17, j, li.get(i).getWxghjl());

sheet.addCell(label);

}

// 写入数据

wwb.write();

} catch (Exception e) {

e.printStackTrace();

}finally{

// 关闭文件

wwb.close();

}

}

Const文件:

/**路径:C盘*/

public static String pathStr = "C:";

/**路径://*/

public static String pathStr2 = "//";

/**文件夹:workspace*/

public static String pathStr3 = "exportFile";

/**文件名:world*/

public static String pathStr6 = "Equipment";

/**路径:/*/

public static String pathStr4 = "/";

/**路径:.xls*/

public static String pathStr5 = ".xls";

java表格模板下载的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于免费下载表格模板、java表格模板下载的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。