java excel xls表格操作之jxl Workbook插件,读写(指定)行列数据,根据关键字(集)标注目标单元格背景色

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import javax.swing.JOptionPane;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Colour;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

/**不支持Excel2007格式(也就是xlsx格式文件)*/
public class ExcelUtil {

    public static ArrayList readRows(File f,int sheetIndex) {
        Workbook wb = null;
        try {
            wb = Workbook.getWorkbook(f);
        } catch (BiffException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }  
        Sheet sheet = wb.getSheets()[sheetIndex];  
        int rows = sheet.getRows();
        ArrayList list=new ArrayList();
        for(int i = 0 ;i < rows ; i++){
            Cell[] cells = sheet.getRow(i);  
            String[] row=new String[cells.length];
            for(int j=0;j readColumns(File f,int sheetIndex) {
        Workbook wb = null;
        try {
            wb = Workbook.getWorkbook(f);
        } catch (BiffException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Sheet sheet = wb.getSheets()[sheetIndex];  
        int cols = sheet.getColumns();
        ArrayList list=new ArrayList();
        for(int i = 0 ;i < cols ; i++){
            Cell[] cells = sheet.getColumn(i);  
            String[] col=new String[cells.length];
            for(int j=0;j readColumns(String f,int[] indexs,int sheetIndex) {
        Workbook wb = null;
        try {
            wb = Workbook.getWorkbook(new File(f));
        } catch (BiffException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Sheet sheet = wb.getSheets()[sheetIndex];  
        int rows = sheet.getRows();
        ArrayList list=new ArrayList();
        for(int i = 0 ;i < rows ; i++){
            Cell[] cells = sheet.getRow(i);  
            String[] col=new String[indexs.length];
            for(int j=0;j list,int startRow,int sheetIndex){
        WritableWorkbook book=null;
        try {
            Workbook wb = Workbook.getWorkbook(f);
            book = Workbook.createWorkbook(f, wb);//副本修改模式
            WritableSheet sheet = book.getSheet(sheetIndex);
            //逐条注入数据
            for(int i=0;i arrs=FileUtil.readFileArrByRow(new File("ExColCharNumMap.txt"));
        for(String[] arr:arrs){
            if(arr[0].equals(title))
                return Integer.parseInt(arr[1]);
        }
        return null;
    }
    
    /**对某列数据进行关键字过滤,类型为包含;颜色填null则默认为红色*/
    public static void markColumnCell(File f,int colIndex,String[] keywords,jxl.format.Colour colour){
        WritableWorkbook book=null;
        try {
            Workbook wb = Workbook.getWorkbook(f);
            book = Workbook.createWorkbook(f, wb);//副本修改模式
            WritableSheet sheet = book.getSheet(0);
            int max=sheet.getRows();
            for(int i=0;i getCellColumnContains(File f,int c,String keyword){
        ArrayList data=readRows(f, 0);
        ArrayList list=new ArrayList();
        for(String[] arr:data){
            if(arr[c].contains(keyword)){
                list.add(arr);
            }
        }
        return list;
    }

}

 

你可能感兴趣的:(java)