数据导入excel表格
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
package ;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Date;
import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.VerticalAlignment;
import jxl.write.Formula;
import bel;
import jxl.write.NumberFormat;
import jxl.write.WritableCellFeatures;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class JExcelUtils {
/**
* 生成Excel文件
* @param path 文件路径
* @param sheetName 工作表名称
* @param dataTitles 数据标题
*/
public void createExcelFile(String path,String sheetName,String[] dataTitles){ WritableWorkbook workbook;
try{
OutputStream os=new FileOutputStream(path);
workbook=Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet(sheetName, 0); //添加第一个工作表
initialSheetSetting(sheet);
Label label;
for (int i=0; i //Label(列号,行号,内容,风格) label = new Label(i, 0, dataTitles[i],getTitleCellFormat()); sheet.addCell(label); } //插入一行 insertRowData(sheet,1,new String[]{"200201001","张三","100","60","100","260"},getDataCellFormat(CellType.STRING_FORMULA)); //一个一个插入行 label = new Label(0, 2,"200201002",getDataCellFormat(CellType.STRING_FORMULA)); sheet.addCell(label); label = new Label(1, 2,"李四",getDataCellFormat(CellType.STRING_FORMULA)); sheet.addCell(label); insertOneCellData(sheet,2,2,70.5,getDataCellFormat(CellType.NUMBER)); insertOneCellData(sheet,3,2,90.523,getDataCellFormat(CellType.NUMBER)); insertOneCellData(sheet,4,2,60.5,getDataCellFormat(CellType.NUMBER)); insertFormula(sheet,5,2,"C3+D3+E3",getDataCellFormat(CellType.NUMBER_FORMULA)); //插入日期 mergeCellsAndInsertData(sheet, 0, 3, 5, 3, new Date(), getDataCellFormat(CellType.DA TE)); workbook.write(); workbook.close(); }catch(Exception e){ e.printStackTrace(); } } /** * 初始化表格属性 * @param sheet */ public void initialSheetSetting(WritableSheet sheet){ try{ //sheet.getSettings().setProtected(true); //设置xls的保护,单元格为只读的 sheet.getSettings().setDefaultColumnWidth(10); //设置列的默认宽度 //sheet.setRowView(2,false);//行高自动扩展 //setRowView(int row, int height);--行高 //setColumnView(int col,int width); --列宽 sheet.setColumnView(0,20);//设置第一列宽度 }catch(Exception e){ e.printStackTrace(); } } /** * 插入公式 * @param sheet * @param col * @param row * @param formula * @param format */ public void insertFormula(WritableSheet sheet,Integer col,Integer row,String formula,WritableCellFormat format){ try{ Formula f = new Formula(col, row, formula, format); sheet.addCell(f); }catch(Exception e){ e.printStackTrace(); } } /** * 插入一行数据 * @param sheet 工作表 * @param row 行号 * @param content 内容 * @param format 风格 */ public void insertRowData(WritableSheet sheet,Integer row,String[] dataArr,WritableCellFormat format){ try{ Label label; for(int i=0;i label = new Label(i,row,dataArr[i],format); sheet.addCell(label); }