文档章节

jxl操作excel(每页200个,每行4个)

Maybe.
 Maybe.
发布于 2013/01/22 13:58
字数 752
阅读 79
收藏 0

package cn.com.burgeon.excel;
import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class Jxltest {

 public void crExcel() {
  try {
   WritableWorkbook wwb = Workbook.createWorkbook(new File(
     "d:/test.xls"));
   // 定义只读
   // wwb.setProtected(true);
   WritableSheet wa=null;
   int sheetcount=200;
   int allsheetcount=1001;
    int sheetindex=0;
    if(allsheetcount%sheetcount!=0){
     sheetindex=allsheetcount/sheetcount+1; 
    }else {
     sheetindex=allsheetcount/sheetcount;
    }
    for (int j = 0; j < sheetindex; j++) {
     wa = wwb.createSheet("订货会款"+j, j);
     // 设置宽和高
     // wa.setColumnView(0, 18);
     // wa.setRowView(0, 280);
     // 合并单元格注意mergeCells(col0,row0,col1,row1) --列从0开始,col1为你要合并到第几列,行也一样

     // wa.setProtected(false);
     // 设置 字体,大小,颜色,斜体,黑体
     WritableFont wf = new WritableFont(WritableFont.ARIAL, 12,
       WritableFont.BOLD, false);
     WritableCellFormat wcf = new WritableCellFormat(wf);
     wcf.setAlignment(Alignment.CENTRE);
     wcf.setBorder(Border.ALL, BorderLineStyle.THIN);
     // 设置垂直居上
     // wa.setColumnView(1,19);
     /*
      * Label label4=new Label(3,1,"39",wcf); Label label5=new
      * Label(4,1,"40",wcf); Label label6=new Label(5,1,"41",wcf); Label
      * label7=new Label(6,1,"42",wcf); Label label8=new
      * Label(7,1,"43",wcf); wa.addCell(label4); wa.addCell(label5);
      * wa.addCell(label6); wa.addCell(label7); wa.addCell(label8);
      */
     wcf.setVerticalAlignment(VerticalAlignment.CENTRE);
     //先循环上面四列,若是4的倍数,换行
     int rowscount=0;//若为4的倍数,换行,rowcount+1
     int sheetSize=allsheetcount-j*200;
     if(sheetSize>sheetcount){
      sheetSize=sheetcount;
     }
     for(int i=0;i<sheetSize;i++){
      
      if(i!=0&&i%4==0){
       rowscount+=1;
      }
       int colsindex=i%4;//得到列索引 cols纵 rows横 cols终止位置 rows 终止位置
       int rows=(rowscount*8)>0?(rowscount*8):0; //行坐标
       int cols=(colsindex*5)>0?(colsindex*5):0; //列坐标
       wa.mergeCells(cols+0, rows+0, cols+0, rows+0);
       wa.mergeCells(cols+1, rows+0, cols+2, rows+0);
       wa.mergeCells(cols+3, rows+0, cols+3, rows+0);
       wa.mergeCells(cols+0, rows+1, cols+0, rows+1);
       wa.mergeCells(cols+1, rows+1, cols+2, rows+1);
       wa.mergeCells(cols+3, rows+1, cols+3, rows+1);
       wa.mergeCells(cols+4, rows+1, cols+4, rows+1);
       wa.mergeCells(cols+0, rows+2, cols+4, rows+7);
       Label label = new Label(cols+0, rows+0, "款号", wcf);
       wa.addCell(label);
       Label label1 = new Label(cols+1, rows+0, "品名", wcf);
       wa.addCell(label1);
       Label label2 = new Label(cols+3, rows+0, "色号", wcf);
       wa.addCell(label2);
       Label label3 = new Label(cols+4, rows+0, "零售价", wcf);
       wa.addCell(label3);
       Label label4 = new Label(cols+0, rows+1, "DC3-1", wcf);
       wa.addCell(label4);
       Label label5 = new Label(cols+1, rows+1, "女款", wcf);
       wa.addCell(label5);
       Label label6 = new Label(cols+3, rows+1, "-", wcf);
       wa.addCell(label6);
       Label label7 = new Label(cols+4, rows+1, "880.00", wcf);
       wa.addCell(label7);
       File image = new File("d:/as0011.png");
       // 只支持png格式的 图形 参数 分别表示 开始列 行 宽 高
       WritableImage wimage = new WritableImage(cols+1, rows+2, 2, 6, image);
       WritableCellFormat wcf1 = new WritableCellFormat();
       wcf1.setBorder(Border.ALL, BorderLineStyle.THIN);
       wa.getWritableCell(0, 3).setCellFormat(wcf1);
       wa.addImage(wimage);
      
     }
    }
   
     
   
   
  /* wa.mergeCells(0, 0, 0, 0);
   wa.mergeCells(1, 0, 2, 0);
   wa.mergeCells(3, 0, 3, 0);
   wa.mergeCells(0, 1, 0, 1);
   wa.mergeCells(1, 1, 2, 1);
   wa.mergeCells(3, 1, 3, 1);
   wa.mergeCells(4, 1, 4, 1);
   wa.mergeCells(0, 2, 4, 7);
   Label label = new Label(0, 0, "款号", wcf);
   wa.addCell(label);
   Label label1 = new Label(1, 0, "品名", wcf);
   wa.addCell(label1);
   Label label2 = new Label(3, 0, "色号", wcf);
   wa.addCell(label2);
   Label label3 = new Label(4, 0, "零售价", wcf);
   wa.addCell(label3);
   Label label4 = new Label(0, 1, "DC3-1", wcf);
   wa.addCell(label4);
   Label label5 = new Label(1, 1, "女款", wcf);
   wa.addCell(label5);
   Label label6 = new Label(3, 1, "-", wcf);
   wa.addCell(label6);
   Label label7 = new Label(4, 1, "880.00", wcf);
   wa.addCell(label7);
   File image = new File("d:/as0011.png");
   // 只支持png格式的 图形 参数 分别表示 开始列 行 宽 高
   WritableImage wimage = new WritableImage(1, 2, 2, 6, image);
   WritableCellFormat wcf1 = new WritableCellFormat();
   wcf1.setBorder(Border.ALL, BorderLineStyle.THIN);
   wa.getWritableCell(0, 3).setCellFormat(wcf1);
   wa.addImage(wimage);*/

   wwb.write();
   wwb.close();
  } catch (IOException ie) {
   ie.printStackTrace();
  } catch (WriteException we) {
   we.printStackTrace();
  }
 }

 public static void main(String[] args) {
  new Jxltest().crExcel();
 }

}

© 著作权归作者所有

上一篇: jstl与el表达式
Maybe.
粉丝 0
博文 8
码字总数 5185
作品 0
虹口
程序员
私信 提问
jxl导入/导出Excel(Maven)

About jxl is a pure java 5 super-project that includes Enclosure, Peermi, Enshell, and Xlp. jxl && POI jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Exc......

coderzs
2017/08/31
0
0
JExcel 的基本操作demo

面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可供使用,一个是...

json_wjw
2016/09/20
327
0
JAVA利用JXL导出/生成 EXCEL

在开发中很多时间需要导出数据库中的一些数据到excel中!昨天就研究了一下……用JXL导出excel /** 导出导出采暖市场部收入、成本、利润明细表 @author JIA-G-Y */public String exporExcel(S...

郏高阳
2012/11/13
9.9K
3
Android操作文档系列2- 操作Excel

1 开发调研 1.1 需求描述MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。作为办公文档,势必要涉及到的电子文档的交换,Excel是一种在企业中非常通用的文件格式,...

我家有宝
2016/09/27
77
0
使用java读取Excel表格中的数据 ,解决方案搜集

Java EXCEL API简介 Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应...

不最醉不龟归
2016/11/01
216
0

没有更多内容

加载失败,请刷新页面

加载更多

全面兼容IE6/IE7/IE8/FF的CSS HACK写法

浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie...

前端老手
9分钟前
3
0
常用快递电子面单批量打印api接口对接demo-JAVA示例

目前有三种方式对接电子面单: 1.快递公司:各家快递公司逐一对接接口 2.菜鸟:支持常用15家快递电子面单打印 3.快递鸟:仅对接一次,支持常用30多家主流快递电子面单打印 目前也是支持批量打...

程序的小猿
12分钟前
5
0
Yii 框架中rule规则必须搭配验证函数才能使用

public $store_id;public $user_id;public $page;public $limit;public $list;public $mch_list;public $cart_id;public $is_community;public $shop_id;public $cart_typ......

chenhongjiang
14分钟前
2
0
Flutter使用Rammus实现阿里云推送

前言: 最近新的Flutter项目有“阿里云推送通知”的需求,就是Flutter的App启动后检测到有新的通知,点击通知栏然后跳转到指定的页面。在这里我使用的是第三方插件Rammus来实现通知的推送,之...

EmilyWu
14分钟前
38
0
Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务

短网址顾名思义就是使用比较短的网址代替很长的网址。维基百科上面的解释是这样的: 短网址又称网址缩短、缩短网址、URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短...

阿里巴巴云原生
30分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部