精华内容
下载资源
问答
  • java生成Excel数据

    2013-11-07 11:20:51
    java生成Excel数据表,动态生成Excel数据
  • java生成excel图表

    2014-08-19 20:39:48
    java生成excel图表
  • java生成excel.rar

    2019-07-31 14:41:00
    查询数据库中的数据,生成map形式,处理后通过java生成excel
  • 下面我们来讲一下使用Java生成excel文件,一般有2种方式,一是使用jxl,还有是使用poi,今天我们主要了解一下使用jxl操作在本地生成excel文件 下面是使用jxl在本地生成excel文件的方法 /** * java导出excel方法 ...

    下面我们来讲一下使用Java生成excel文件,一般有2种方式,一是使用jxl,还有是使用poi,今天我们主要了解一下使用jxl操作在本地生成excel文件

    下面是使用jxl在本地生成excel文件的方法

    	/**
    	 * java导出excel方法
    	 * @param list 表内容数据
    	 * @param sheetName 第0个表工作名称
    	 * @param columns 表头数据
    	 * @return flag 
    	 */
    	  public int exportExcel(List<User> list, String sheetName,List<String> columns) {  
    	        int flag = 0;  
    	        //声明工作簿jxl.write.WritableWorkbook  
    	        WritableWorkbook wwb;  
    	        try {  
    	            //在本地创建一个excel文件,如果文件存在每次都会生成新的覆盖原来的文件,
    	        	//这样就永远只生成一个excel,而不占用服务器太多空间
    	        	 File file = new File("E://TTest.xls");
    	        	 if(!file.exists()){
    	        		 file.createNewFile();
    	        	 }
    	            wwb = Workbook.createWorkbook(file);  
    	            /* 
    	             * 创建一个工作表、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 (list != null && list.size() > 0) {  
    	                    //循环写入表中数据  
    	                		int i=0;
    	                        for(User user:list){
    	                        	//括号中第一个参数代表列,第二个参数代表行,第三个参数代表内容
    	                        	//下面第一个也就是第0列的第1行(第0行做了表头)的内容为userName。
    	                            ws.addCell(new Label(0,i+1,user.getUsername()));  
    	                            ws.addCell(new Label(1,i+1,user.getCnName()));
    	                            ws.addCell(new Label(2,i+1,user.getUserType()));
    	                            if(user.getRoleList()==null){
    	                            	ws.addCell(new Label(3,i+1,""));
    	                            }else{
    	                            	ws.addCell(new Label(3,i+1,user.getRoleList().get(0).getName()));
    	                            }
    	                            if(user.getDept()==null){
    	                            	ws.addCell(new Label(4,i+1,""));
    	                            }else{
    	                            	ws.addCell(new Label(4,i+1,user.getDept().getName()));
    	                            }
    	                            if(user.getDept()==null){
    	                            	ws.addCell(new Label(5,i+1,""));
    	                            }else{
    	                            	ws.addCell(new Label(5,i+1,user.getDept().getName()));
    	                            }
    	                            ws.addCell(new Label(6,i+1,user.getStatus()));
    	                            i++;
    	                        }  
    	                 
    	                }else{  
    	                    flag = -1;  
    	                }  
    	  
    	                //写入Exel工作表  
    	                wwb.write();  
    	  
    	                //关闭Excel工作薄对象   
    	                wwb.close();   
    	            }  
    	        }catch (IllegalStateException e) {  
    	            System.err.println(e.getMessage());  
    	        }  
    	        catch (Exception ex) {  
    	            flag = 0;  
    	            ex.printStackTrace();  
    	        }  
    	  
    	        return flag;  
    	    }  
    	  



    下面在web在线生成excel,然后直接下载下来

    /**
    	 * java导出excel方法
    	 * @param list 表内容数据
    	 * @param sheetName 第0个表工作名称
    	 * @param columns 表头数据
    	 * @return flag 
    	 */
    	  public int exportExcel(List<User> list, String sheetName,List<String> columns) {  
    	        int flag = 0;  
    	        //声明工作簿jxl.write.WritableWorkbook  
    	        WritableWorkbook wwb;  
    	        ByteArrayOutputStream stream = new ByteArrayOutputStream();
    			InputStream is = new ByteArrayInputStream(stream.toByteArray());
    	        try {  
    	            //在本地创建一个excel文件,如果文件存在每次都会生成新的覆盖原来的文件,
    	        	//这样就永远只生成一个excel,而不占用服务器太多空间
    	        
    	            wwb = Workbook.createWorkbook(stream);  
    	            /* 
    	             * 创建一个工作表、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 (list != null && list.size() > 0) {  
    	                    //循环写入表中数据  
    	                		int i=0;
    	                        for(User user:list){
    	                        	//括号中第一个参数代表列,第二个参数代表行,第三个参数代表内容
    	                        	//下面第一个也就是第0列的第1行(第0行做了表头)的内容为userName。
    	                            ws.addCell(new Label(0,i+1,user.getUsername()));  
    	                            ws.addCell(new Label(1,i+1,user.getCnName()));
    	                            ws.addCell(new Label(2,i+1,user.getUserType()));
    	                            if(user.getRoleList()==null){
    	                            	ws.addCell(new Label(3,i+1,""));
    	                            }else{
    	                            	ws.addCell(new Label(3,i+1,user.getRoleList().get(0).getName()));
    	                            }
    	                            if(user.getDept()==null){
    	                            	ws.addCell(new Label(4,i+1,""));
    	                            }else{
    	                            	ws.addCell(new Label(4,i+1,user.getDept().getName()));
    	                            }
    	                            if(user.getDept()==null){
    	                            	ws.addCell(new Label(5,i+1,""));
    	                            }else{
    	                            	ws.addCell(new Label(5,i+1,user.getDept().getName()));
    	                            }
    	                            ws.addCell(new Label(6,i+1,user.getStatus()));
    	                            i++;
    	                        }  
    	                 
    	                }else{  
    	                    flag = -1;  
    	                }  
    	  
    	                //写入Exel工作表  
    	                wwb.write();  
    	  
    	                //关闭Excel工作薄对象   
    	                wwb.close();
    	                is = new ByteArrayInputStream(stream.toByteArray());
    	                String fileName=new String("用户信息.xls".getBytes("GBK"),"ISO8859_1");
    					Filedownload.save(is, "application/x-download", fileName);
    	            }  
    	        }catch (IllegalStateException e) {  
    	            System.err.println(e.getMessage());  
    	        }  
    	        catch (Exception ex) {  
    	            flag = 0;  
    	            ex.printStackTrace();  
    	        }  
    	  
    	        return flag;  
    	    }  
    	  



    展开全文
  • java 生成数据excel

    2017-09-14 09:07:21
    java数据生成exceljava数据生成exceljava数据生成exceljava数据生成exceljava数据生成excel
  • Java 生成Excel表格

    千次阅读 2016-03-31 11:29:12
    Java 生成Excel表格 使用jxl.jar在Java工程中生成Excel表格。jxl全程为:Java Excel,该API可以用来在Java中对微软的Excel表格进行操作。下面,我来简单地介绍下它的使用方法。 接着,编写excelUtil工具类,用于...

    Java 生成Excel表格

    使用jxl.jar在Java工程中生成Excel表格。jxl全程为:Java Excel,该API可以用来在Java中对微软的Excel表格进行操作。下面,我来简单地介绍下它的使用方法。
    这里写图片描述
    接着,编写excelUtil工具类,用于生成Excel表格:

    package com.web.util;
    
    import java.io.File;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.List;
    
    import com.web.model.AccessRecord;
    
    import jxl.Workbook;
    import jxl.format.Alignment;
    import jxl.write.Label;
    import jxl.write.WritableCellFormat;
    import jxl.write.WritableFont;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;
    
    /*
     * 生成访问记录Excel表格工具类
     */
    public class arexcelUtil {
        private static WritableCellFormat wcf_value;            // 表格数据样式
        private static WritableCellFormat wcf_value_left;
        private static WritableCellFormat wcf_key;              // 表头样式
        private static WritableCellFormat wcf_name_left;        // 表名样式
        private static WritableCellFormat wcf_name_right;       // 表名样式
        private static WritableCellFormat wcf_name_center;      // 表名样式
        private static WritableCellFormat wcf_title;            // 页名称样式
        private static WritableCellFormat wcf_percent_float;
    
        private static String pathStr = "C:/Users/Administrator/Desktop/ar";        //将导出Excel表格的路径设置为桌面
    
        // 生成Excel文件
        public void genarateExcel(List list) throws Exception{
            /******   定义表格格式start    *****/
            WritableFont wf_key = new jxl.write.WritableFont(WritableFont.createFont("微软雅黑"), 10, WritableFont.BOLD);
            WritableFont wf_value = new jxl.write.WritableFont(WritableFont.createFont("微软雅黑"), 10, WritableFont.NO_BOLD);
            //设置单元格样式
            wcf_value = new WritableCellFormat(wf_value);                               //单元格字体样式
            wcf_value.setAlignment(jxl.format.Alignment.CENTRE);                            //单元格水平对齐样式
            wcf_value.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);            //单元格垂直对齐样式
            wcf_value.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);     //单元格边框样式
    
            wcf_value_left = new WritableCellFormat(wf_value);
            wcf_value_left.setAlignment(jxl.format.Alignment.LEFT);
            wcf_value_left.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
            wcf_value_left.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
            wcf_value_left.setWrap(true);
    
            wcf_key = new WritableCellFormat(wf_key);
            wcf_key.setAlignment(jxl.format.Alignment.CENTRE);
            wcf_key.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
    
            wcf_name_left = new WritableCellFormat(wf_key);
            wcf_name_left.setAlignment(Alignment.LEFT);
            wcf_name_left.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
    
            wcf_name_right = new WritableCellFormat(wf_key);
            wcf_name_right.setAlignment(Alignment.LEFT);
    
            wcf_name_center = new WritableCellFormat(wf_key);
            wcf_name_center.setAlignment(Alignment.CENTRE);
    
            jxl.write.NumberFormat wf_percent_float = new jxl.write.NumberFormat("0.00");   //定义单元浮点数据类型        
            wcf_percent_float = new jxl.write.WritableCellFormat(wf_value,wf_percent_float);
            wcf_percent_float.setAlignment(jxl.format.Alignment.CENTRE);
            wcf_percent_float.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
            wcf_percent_float.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
    
            WritableFont wf_title = new jxl.write.WritableFont(WritableFont.createFont("微软雅黑"), 24, WritableFont.NO_BOLD);      //定义标题样式
            wcf_title = new WritableCellFormat(wf_title);
            wcf_title.setAlignment(Alignment.CENTRE);
            wcf_title.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
            /******   定义表格格式end    *****/
    
            //在指定的路径生成空白的xls文件
            SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");           
            System.out.println();
            String filename = pathStr + df.format(new Date()) + ".xls";
            File file = new File(filename);
            file.createNewFile();
    
            //根据传输过来的list,定义excel表格的列数
            //int maxRow = list.size();
            //int maxCol = 10;
            Iterator it = list.iterator();      
    
            try{
                WritableWorkbook wb = Workbook.createWorkbook(file);
                //设置Excel工作簿名称
                WritableSheet ws = wb.createSheet("访问报表", 0);
                int startRowNum = 0;    // 起始行
                int startColNum = 0;    // 起始列
                int maxColSize = 8;     // 最大列数
                // 设置列宽
                ws.setColumnView(0, 10);
                ws.setColumnView(1, 18);
                ws.setColumnView(2, 12);
                ws.setColumnView(3, 12);
                ws.setColumnView(4, 12);
                ws.setColumnView(5, 28);
                ws.setColumnView(6, 28);
                ws.setColumnView(7, 15);
    
                ws.addCell(new Label(startColNum, startRowNum, "来访单位记录", wcf_title));
                ws.mergeCells(startColNum, startRowNum, startColNum + maxColSize- 1, startRowNum);  //合并单元格,合并(1,0)到(1,9)
                startColNum = 0;
                startRowNum++;
                //第1行,绘制表头
                ws.addCell(new Label(startColNum, startRowNum, "标题1",wcf_key));
                startColNum++;
                ws.addCell(new Label(startColNum, startRowNum, "标题3", wcf_key));
                startColNum++;
                ws.addCell(new Label(startColNum, startRowNum, "标题3", wcf_key));
                startColNum++;
                ws.addCell(new Label(startColNum, startRowNum, "标题4", wcf_key));
                startColNum++;
                ws.addCell(new Label(startColNum, startRowNum, "标题5", wcf_key));
                startColNum++;
                ws.addCell(new Label(startColNum, startRowNum, "标题6", wcf_key));
                startColNum++;
                ws.addCell(new Label(startColNum, startRowNum, "标题7", wcf_key));
                startColNum++;          
                ws.addCell(new Label(startColNum, startRowNum, "标题8", wcf_key));
                startColNum++;          
                //将行数加1,列数重置为0
                startRowNum++;
                startColNum = 0;
    
                //添加记录
                while(it.hasNext()){
                    AccessRecord ar = (AccessRecord) it.next();
    
                    ws.addCell(new Label(startColNum, startRowNum, String.valueOf(ar.getId()) ,wcf_key));
                    startColNum++;
                    ws.addCell(new Label(startColNum, startRowNum, ar.getArOrganization() , wcf_key));
                    startColNum++;
                    ws.addCell(new Label(startColNum, startRowNum, ar.getArName() , wcf_key));
                    startColNum++;
                    ws.addCell(new Label(startColNum, startRowNum, ar.getPid(), wcf_key));
                    startColNum++;
                    ws.addCell(new Label(startColNum, startRowNum, ar.getPname(), wcf_key));
                    startColNum++;
                    ws.addCell(new Label(startColNum, startRowNum, ar.getAccessDate()+ar.getAccessTime(), wcf_key));
                    startColNum++;
                    ws.addCell(new Label(startColNum, startRowNum, ar.getDepartureDate()+ar.getDepartureTime(), wcf_key));
                    startColNum++;          
                    ws.addCell(new Label(startColNum, startRowNum, ar.getContent(), wcf_key));
                    startColNum++;
                    //将行数加1,列数重置为0
                    startRowNum++;
                    startColNum = 0;
                }
    
                wb.write();     //生成Excel工作簿
                wb.close();     
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }

    这里的工程使用了SSH框架和ExtJS框架,具体的搭建就不详述了,重在介绍如果使用jxl来生成Excel表格,前台代码为:

    //导出Excel表格
    function exportExcel(){
        Ext.MessageBox.confirm("提示","您是否要导出Excel表格吗?",function(btnId){
            if(btnId == 'yes'){ 
                Ext.MessageBox.wait("正在导出Excel表格,请稍等...", "提示");                        Ext.Ajax.request({
                    url:'accessrecord_exportExcel',
                    method:'post',                          
                    success:function(response,options){                                     Ext.Msg.alert('提示','成功导出Excel表格!');
                    },
                    failure:function(response,options){
                        Ext.Msg.alert('提示','发生错误,未能导出Excel表格!');
                    }
                });
            }
        });
    }

    点击页面的导出Excel按钮,然后会生成相应的Excel表格,如图2所示:
    Java 生成Excel表格 -

    这里写图片描述
    图2 触发Excel表格的生成

    生成的Excel表格的内容如图3所示:
    Java 生成Excel表格
    这里写图片描述

    展开全文
  • Java生成Excel文件(xls格式

    千次阅读 2019-04-01 16:00:03
    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Calendar; import java.util.Date;.....
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.Calendar;
    import java.util.Date;
    import jxl.Workbook;
    import jxl.format.Colour;
    import jxl.format.UnderlineStyle;
    import jxl.write.Boolean;
    import jxl.write.DateFormats;
    import jxl.write.DateTime;
    import jxl.write.Label;
    import jxl.write.Number;
    import jxl.write.WritableCellFormat;
    import jxl.write.WritableFont;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;
    import jxl.write.WriteException;
    
    public class BuildExcel {
        public void createExcel(OutputStream os) throws WriteException,IOException {
            //创建工作薄
            WritableWorkbook workbook = Workbook.createWorkbook(os);
            //创建新的一页  ---sheet页命名 ; sheet页号
            WritableSheet sheet = workbook.createSheet("First Sheet", 0);
            //构造表头
            sheet.mergeCells(0, 0, 4, 0);//添加合并单元格,第一个参数是起始列,第二个参数是起始行,第三个参数是终止列,第四个参数是终止行
            WritableFont bold = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);//设置字体种类和黑体显示,字体为Arial,字号大小为10,采用黑体显示
            WritableCellFormat titleFormate = new WritableCellFormat(bold);//生成一个单元格样式控制对象
            titleFormate.setAlignment(jxl.format.Alignment.CENTRE);//单元格中的内容水平方向居中
            titleFormate.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//单元格的内容垂直方向居中
            Label title = new Label(0,0,"JExcelApi支持数据类型详细说明",titleFormate);
            sheet.setRowView(0, 600, false);//设置第一行的高度
            sheet.addCell(title);
            
            //创建要显示的具体内容
            WritableFont color = new WritableFont(WritableFont.ARIAL);//选择字体
            color.setColour(Colour.GOLD);//设置字体颜色为金黄色
            WritableCellFormat colorFormat = new WritableCellFormat(color);
            Label formate = new Label(0,1,"数据格式",colorFormat);
            sheet.addCell(formate);
            Label floats = new Label(1,1,"浮点型");
            sheet.addCell(floats);
            Label integers = new Label(2,1,"整型");
            sheet.addCell(integers);
            Label booleans = new Label(3,1,"布尔型");
            sheet.addCell(booleans);
            Label dates = new Label(4,1,"日期格式");
            sheet.addCell(dates);
            WritableFont color1 = new WritableFont(WritableFont.TIMES);//选择字体
            color1.setColour(Colour.BLUE2);
            WritableCellFormat colorFormat1 = new WritableCellFormat(color1);
            Label test = new Label(5, 1, "Demo", colorFormat1);
            sheet.addCell(test);
            
            Label example = new Label(0,2,"数据示例",colorFormat);
            sheet.addCell(example);
            //浮点数据
            //设置下划线
            WritableFont underline= new WritableFont(WritableFont.ARIAL,WritableFont.DEFAULT_POINT_SIZE,WritableFont.NO_BOLD,false,UnderlineStyle.SINGLE);
            WritableCellFormat greyBackground = new WritableCellFormat(underline);
            greyBackground.setBackground(Colour.GRAY_25);//设置背景颜色为灰色
            Number number = new Number(1,2,3.1415926535,greyBackground); // 参数 : 列 , 行,值,颜色
            sheet.addCell(number);
            
            
            //整形数据
            WritableFont boldNumber = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);//黑体
            WritableCellFormat boldNumberFormate = new WritableCellFormat(boldNumber);
            Number ints = new Number(2,2,15042699,boldNumberFormate);
            sheet.addCell(ints);
            
            
            //布尔型数据
            Boolean bools = new Boolean(3,2,true);
            sheet.addCell(bools);
            
            
            //日期型数据
            //设置黑体和下划线
            WritableFont boldDate = new WritableFont(WritableFont.ARIAL,WritableFont.DEFAULT_POINT_SIZE,WritableFont.BOLD,false,UnderlineStyle.SINGLE);
            WritableCellFormat boldDateFormate = new WritableCellFormat(boldDate,DateFormats.FORMAT1);
            Calendar c = Calendar.getInstance();
            Date date = c.getTime();
            DateTime dt = new DateTime(4,2,date,boldDateFormate);
            sheet.addCell(dt);
            
            //Demo
            Label demo = new Label(5,2, "demo");
            sheet.addCell(demo);
            //把创建的内容写入到输出流中,并关闭输出流
            workbook.write();
            workbook.close();
            os.close();
            System.out.println("创建完成!");
        }
        public static void main(String[] args) throws FileNotFoundException {
        	String filePatch = "D:/CreateFile/BuilExcel.xls";
        	File file = new File(filePatch);
        	if (!file.setReadable(true) || !file.setWritable(true)) {
        		System.out.println("文件没有读写权限!");
    		}
    		OutputStream stream = new FileOutputStream(file);
    		BuildExcel buildExcel = new BuildExcel();
    		try {
    			buildExcel.createExcel(stream);
    		} catch (IOException | WriteException e) {
    			e.printStackTrace();
    		}
    	}
    }

     

    展开全文
  • java生成Excel

    2013-06-28 21:34:34
    利用poi生成excel,介绍一下基本用法 1.HSSFWorkbook workbook = new HSSFWorkbook();创建工作薄 2.HSSFSheet sheet = workbook.createSheet("工资表");一个sheet最多有65535行 3.HSSFRow row = sheet....

    一.利用poi生成excel,介绍一下基本用法

    1.HSSFWorkbook workbook = new HSSFWorkbook();创建工作薄

    2.HSSFSheet sheet = workbook.createSheet("工资表");一个sheet最多有65535行

    3.HSSFRow row = sheet.createRow(0);创建行(最顶端,头部);

    4.HSSFCell cell = row.createCell((short) 0);创建单元格;

    5.FileOutputStream fOut = new FileOutputStream(outputFile);创建流输出文件;

      workbook.write(fOut);

      fOut.flush();

     操作结束,关闭文件  

     fOut.close(); 

    需要下载POI的jar文件,引入jar文件拷贝,代码就可以运行。

    二.简单例子

    Main.java

    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
     
    
    import org.apache.poi.hssf.usermodel.HSSFRichTextString;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    
    
    public class ExcelTest {
    
    	public static int rowNum = 1;
    	public static int rowTotalNum = 1;
        private static  HSSFRow row1;
    	 
    	public static void main(String[] args) {
    		
    		String fileName = "ExcelTest";
    		String outPath ="D:\\";
    		List list = new ArrayList();
    		HSSFWorkbook hwb = new HSSFWorkbook(); 
    		HSSFSheet sheet = hwb.createSheet();
    		FileOutputStream fout;
    		String excelOutPath = outPath+"\\"+ fileName+".xls";
    	    try {
    			fout = new FileOutputStream(excelOutPath);
    			crateExcel(hwb, sheet, fout);//创建excel
    			insertData(fout, excelOutPath, hwb, sheet, list);//向excel插入数据
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    	 	
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    		
    	}
    	
       public static  void  crateExcel(HSSFWorkbook hwb,HSSFSheet sheet,FileOutputStream fout) throws IOException{
    		
    		//头部
    		row1 = sheet.createRow(0);
    		row1.createCell(0).setCellValue(new HSSFRichTextString("序号"));
    		row1.createCell(1).setCellValue(new HSSFRichTextString("地址"));
    		row1.createCell(2).setCellValue(new HSSFRichTextString("X"));
    		row1.createCell(3).setCellValue(new HSSFRichTextString("Y"));
    		row1.createCell(4).setCellValue(new HSSFRichTextString("相似度"));
    		hwb.write(fout);
    	 
    	}
        public static  void insertData(FileOutputStream fout,String excelOutPath,HSSFWorkbook hwb,HSSFSheet sheet,List list) throws IOException{
         		
        	fout = new FileOutputStream(excelOutPath);
        	int len =  list.size();
        	for(int i =0;i<100 ;i++){
        		
        		String likeNum = "33";
    			String addr = "北京";
    			String x_point = "119.3456";
    			String y_point = "38.3456";
    			
        		HSSFRow row2 = sheet.createRow((rowNum % 50000)+1);// 创建表格的行
        		row2.createCell(0).setCellValue(new HSSFRichTextString(Integer.toString(rowNum)));
        		row2.createCell(1).setCellValue(new HSSFRichTextString(addr));
        		row2.createCell(2).setCellValue(new HSSFRichTextString(x_point));
        		row2.createCell(3).setCellValue(new HSSFRichTextString(y_point));
        		row2.createCell(4).setCellValue(new HSSFRichTextString(likeNum));
        		rowNum++;
        		//一个sheet最多可容65535行 
        		if(rowNum%(65535*rowTotalNum)==0){
        			 
        			rowTotalNum++;
                    //创建新的sheet
                	sheet = hwb.createSheet();
                	row1.createCell(0).setCellValue(new HSSFRichTextString("序号"));
            		row1.createCell(1).setCellValue(new HSSFRichTextString("地址"));
            		row1.createCell(2).setCellValue(new HSSFRichTextString("X"));
            		row1.createCell(3).setCellValue(new HSSFRichTextString("Y"));
            		row1.createCell(4).setCellValue(new HSSFRichTextString("相似度"));
     
        		}
        		 
        	}	
      
        	hwb.write(fout);
        	fout.close();
    	}
    }
    


     

     

     

     

    展开全文
  • Java POI 生成Excel时显示货币格式
  • 关于使用java的操作excel的方法有很多种,我的...使用jxl生成excel文件首先必须将jxl.jar的包加到你的项目的路径下。 package com.silence.excel; import java.io.
  • Java编程调用PageOffice实现从空白的excel文件动态生成excel表格,设置公式并填充数据。 集成PageOffice不但能够实现在线编辑、保存真正的Office文档,而且还可以轻松实现Word、Excel文档的动态数据填充、格式控制和...
  • java生成excel表格

    千次阅读 2018-09-10 14:39:27
    将从数据库查询出来的数据,以报表生成到本地 2实现 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; import java.util.List; import org.apache....
  • JAVA导出EXCEL实现

    万次阅读 多人点赞 2019-07-31 18:39:28
    JAVA导出EXCEL实现
  • 自己写的java生成excel报表jar包,使用html中的table标签样式设计报表头部信息xml文件,接受list数据集生成excel报表。对结构不是太复杂的excel报表十分好用,有详细使用说明。不断完善中,欢迎提供意见和建议!(注...
  • Java生成Excel表并生成zip包进行下载生成Excel文件并导出Java将指定文件夹中的内容复制到新的文件夹中编写zip的工具类 生成Excel文件并导出 import java.io.FileOutputStream; import java.sql.Connection; import ...
  • import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.List;import java.util.Map;import jxl.Workbook
  • public class ExcelFile { //第一次写入 public static void createExcel(Map<String, Object>map,OutputStream os) throws WriteException,IOException{ int n = 0; int m = 0; //创建工作薄 ...
  • JAVA生成EXCEL文件

    千次阅读 2006-07-28 08:13:00
    JAVA生成EXCEL文件使用JXL2_5_9包创建EXCEL文件:public void createXLS() { try { //打开文件 WritableWorkbook book= Workbook.createWorkbook(new File("JAVA生成EXCEL测试.xls")); //生成名为"第一页"的...
  • java 生成EXCEL完整实现(附加代码)

    千次阅读 2014-04-29 18:00:12
    java 生成EXCEL完整实现(附加代码)
  • java生成excel表格并添加数据

    千次阅读 2013-04-27 13:47:08
    java生成excel表格,需要引入3个包、如需要可以点击下载链接免费的: http://download.csdn.net/detail/g631521612/5307175 现在开始写类 package ccut; import java.io.FileOutputStream; import java.text....
  • java导出excel,webbook用的是XSSFWorkbook,可以导出超6W的数据,这里提供了两种导出方法
  • 自己写的java生成excel报表jar包,使用html中的table标签样式设计报表头部信息xml文件,接受list数据集生成excel报表。对结构不是太复杂的excel报表十分好用,有详细使用说明。最新添加了打印时间。
  • java生成 excel 并导出文件

    万次阅读 多人点赞 2016-11-18 10:10:10
    目前,比较常用的实现Java导入、导出Excel的技术有两种Jakarta POI和JavaExcel当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)...
  • Java生成 excel 并导出文件

    千次阅读 2018-07-12 14:17:24
    比较常用的实现Java导入、导出Excel的技术有两种Jakarta POI和Java Excel下面我就分别讲解一下如何使用这两个技术实现导入、导出Excel二、使用Jakarta POI导入、导出ExcelJakarta POI 是一套用于访问微软格式文档的...
  • java生成Excel表格

    2013-06-21 15:09:10
    JAVA 通常有两种方法来操作Excel,分别是POI和JExcelAPI,而且都是开源的。POI是Apace公司开发的,对中文的支持比较弱一些;而JExcelAPI是韩国公司开发的,不仅对中文的支持好,而且由于是纯JAVA编写的,所以可以跨...
  • java xssf生成多sheet的excel
  • java POI生成excel设置列格式并写入文件 SpringBoot项目 主要是那天项目的需求实在是让我无语需求大致如下 改变数据后,删除原来的附件(文件),生成一个新的格式的excel文件并通过数据类型设置这一类的数据格式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,706
精华内容 17,482
关键字:

java生成excel数值格式

java 订阅