導航:首頁 > 編程語言 > jxl讀取exceljava

jxl讀取exceljava

發布時間:2025-09-10 09:52:28

『壹』 怎麼獲取excel字元間列java

一、excel讀取的兩種方式
Java中解析excel的方式,我目前知道的有兩種,一種是 jxl 讀取,另一種是 poi 讀取

1.1 jxl 和 poi 的區缺旦虧別和選擇
① jxl 只能解析 xls 文件,不能 解析 xlsx 文件; poi 則是可伏神以同時兼容xls 和xlsx兩種文件類型,這是要注意的第一個點;

② 這遲改兩個方法的讀取方式不一樣,jxl 讀取的是 先讀列 然後循環獲取的該列每行的信息。poi 讀取是 先讀行,再循環獲取每列的信息。如下圖:

『貳』 java jxl 讀取excel時讀取了很多空行 求解決辦法

這應該是excel文件中的問題,看看是不是文件中後面那些行裡面有空格,或者做過其他標記,可以直接把excel的第21到第31行選中然後刪除,保存好之後重新用jxl讀取試試。

『叄』 jxl (java excel api ) 讀取直接用公式計算出來的值是多少

jxl是打開excel格式的文件讀取單元格內容的,formula設置公式的單元格在沒有excel程序打開的情況下是不會自動計算的。
「他所讀出來的值都為4」4可能代表單元格的類型,公式類型。
可以使用Office的專用中間件SOAOffice來解決,編程簡單,讀取公式計算的值也沒問題

『肆』 java怎麼讀取上傳的excel文件

java怎麼讀取上傳的excel文件,解決辦法:

  1. 添加jar文件,java導入導出Excel文件要引入jxl.jar包,最關鍵的是這套API是純Java的,並不依賴Windows系統,即使運行在Linux下,它同樣能夠正確的處理Excel文件。

  2. jxl對Excel表格的認識,每個單元格的位置認為是由一個二維坐標(i,j)給定,其中i表示列,j表示行,並且從上到下遞增,從左到右遞增。

  3. 對於合並單元格的以最左,最上的單元格的坐標為准。如下圖中t.xls,一班名單(0,0),陳茵(1,2),陳開先(1,6)。


『伍』 java讀取excel文件運行問題,用的是jxl包。運行時選擇的是Demo。不知道怎麼運行,求高手指點。

//Excel 數據 比對 系統

import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class ExcelContrast {
static String file1 = "d://java//1.xls";
static String file2 = "d://java//2.xls";
static HashMap<Integer, String> hsMap1 = new HashMap<Integer, String>();
static HashMap<Integer, String> hsMap2 = new HashMap<Integer, String>();
static int found = 0;
public static void main(String[] args) {
System.out.println("歡迎使用Excel數據比對系統!");
System.out.println("Excel數據比對系統 開始運行。。。");
System.out.println("讀取" + file1);
ReadExcelToHashMap(file1, hsMap1);
// System.out.println(hsMap1.size());
System.out.println("讀取" + file1);
ReadExcelToHashMap(file2, hsMap2);
// System.out.println(hsMap2.size());
// System.out.println(hsMap1.values());
// System.out.println(hsMap2.values());
System.out.println("開始比對。。。");
server();
System.out.println("成功比對出" + found + "條不同數據");
System.out.println("Excel數據比對系統 正常退出。。。");
}
private static void server() {
int i = 0;
System.out.println("遍歷比對" + file1);
while (i < hsMap1.size()) {
if (hsMap2.containsValue(hsMap1.get(i))) {
} else {
System.out.println(file1 + " 第" + (i + 1) + "行 "
+ hsMap1.get(i));
UpdateExcel(i, 0, hsMap1.get(i), file1);
UpdateExcel(i, 1, "稽核", file1);
found++;
}
i++;
}
i = 0;
System.out.println("遍歷比對" + file2);
while (i < hsMap2.size()) {
if (hsMap1.containsValue(hsMap2.get(i))) {
} else {
System.out.println(file2 + " 第" + (i + 1) + "行 "
+ hsMap2.get(i));
UpdateExcel(i, 0, hsMap2.get(i), file2);
UpdateExcel(i, 1, "稽核", file2);
found++;
}
i++;
}
}
private static void ReadExcelToHashMap(String file,
HashMap<Integer, String> hsmap) {
try {
Workbook book = Workbook.getWorkbook(new File(file));
// 獲得第一個工作表對象
Sheet sheet = book.getSheet(0);
// 得到第一列第一行的單元格
int i = 0;
while (!sheet.getCell(0, i).getContents().equalsIgnoreCase("")) {
hsmap.put(i, sheet.getCell(0, i).getContents());
i++;
}
book.close();
} catch (FileNotFoundException e) {
System.out.println("系統找不到指定的文件:" + file);
System.exit(0);
} catch ( e) {
} catch (Exception e) {
e.printStackTrace();
}
}
static void test_hash() {
HashMap<Integer, String> hsMap = new HashMap<Integer, String>();
hsMap.put(3, "Value3");
hsMap.put(2, "Value2");
System.out.println(hsMap.get(2));
System.out.println(hsMap.values());
System.out.println(hsMap.containsKey(1));
System.out.println(hsMap.containsValue("Value3"));
System.out.println(hsMap.size());
}
static void UpdateExcel(int i, int j, String cell, String file) {
try {
// Excel獲得文件
Workbook wb = Workbook.getWorkbook(new File(file));
// 打開一個文件的副本,並且指定數據寫回到原文件
WritableWorkbook book = Workbook.createWorkbook(new File(file), wb);
// 添加一個工作表
WritableSheet ws = book.getSheet(0);
// 這里需要注意的是,在Excel中,第一個參數表示列,第二個表示行
WritableFont font = new WritableFont(WritableFont.ARIAL, 15,
WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.RED);
WritableCellFormat cFormat = new WritableCellFormat(font);
Label labelC = new Label(j, i, cell, cFormat);
try {
// 將生成的單元格添加到工作表中
ws.addCell(labelC);
} catch (Exception e) {
e.printStackTrace();
}
book.write();
book.close();
} catch (FileNotFoundException e) {
System.out.println("另一個程序正在使用此文件,進程無法訪問。請您關閉EXECL");
System.exit(0);
}
catch (Exception e) {
e.printStackTrace();
}
}
}

閱讀全文

與jxl讀取exceljava相關的資料

熱點內容
單片機程序消隱的作用 瀏覽:660
php最出名的論壇 瀏覽:213
花生殼映射linux 瀏覽:758
空調壓縮機曲軸加工 瀏覽:564
流水線plc編程 瀏覽:846
利用rsa演算法對文件加密 瀏覽:820
一位不知名的大廠演算法工程師 瀏覽:848
蒙古包加密防摔 瀏覽:921
惠氏溯源碼查詢真偽 瀏覽:444
程序員襯衫品牌 瀏覽:848
我的夢想工作是程序員 瀏覽:181
華爾街股市投資經典pdf 瀏覽:494
讀取單片機程序的軟體 瀏覽:580
連雲港dns伺服器地址怎麼設置 瀏覽:926
web游戲源碼下載 瀏覽:640
openstack編程 瀏覽:984
阿里雲伺服器有空間嗎 瀏覽:230
單片機方式0輸入 瀏覽:215
雲伺服器華為雲 瀏覽:13
linux如何操作伺服器環境搭建 瀏覽:815