Java 操作excel 插入删除列,插入删除图片
生活随笔
收集整理的這篇文章主要介紹了
Java 操作excel 插入删除列,插入删除图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
起因:接收到一部分數據存在Excel中,大概有300多個,每一個excel的前兩行為空,并且插入了一張圖片,第三行可以當做表頭。
任務:使用kettle將excel中數據導入到數據庫中,但是要刪除千兩行的空白行和第一行的圖片。
使用Java 操作文檔。
(后續發現使用python操作更簡單)
Java 操作Excel 文檔
引用 Free Spire.XLS for Java版本: 3.9.1 包
官方文檔
或jar包
我的代碼
添加圖片
import com.spire.xls.*;public class AddImage {public static void main(String[] args) {//加載文檔Workbook wb = new Workbook();wb.loadFromFile("test.xlsx");//獲取工作表Worksheet sheet = wb.getWorksheets().get(0);//添加圖片ExcelPicture picture = sheet.getPictures().add(7,2,"tp.png");picture.setHeight(270);//設置圖片高度picture.setWidth(550);//設置圖片寬度picture.setRotation(20);//設置圖片旋轉角度picture.setAlternativeText("Picture1");//設置圖片可選文本picture.setHyperLink("http://www.baidu.com",true);//添加超鏈接到圖片//保存文檔wb.saveToFile("AddImage.xlsx", ExcelVersion.Version2010);wb.dispose();} }讀取圖片
import com.spire.xls.*;import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;public class ExtractImage {public static void main(String[] args) throws IOException {//加載文檔Workbook wb = new Workbook();wb.loadFromFile("AddImage.xlsx");//獲取第一張工作表Worksheet sheet = wb.getWorksheets().get(0);//獲取工作表中第一張圖片并保存到指定路徑ExcelPicture pic = sheet.getPictures().get(0);BufferedImage loImage = pic.getPicture();ImageIO.write(loImage,"jpg",new File("ExtractedImage.jpg"));} }刪除圖片
import com.spire.xls.*;public class RemoveImage {public static void main(String[] args) {//加載文檔Workbook wb = new Workbook();wb.loadFromFile("AddImage.xlsx");//獲取指定工作表Worksheet sheet = wb.getWorksheets().get(0);//獲取指定圖片,刪除sheet.getPictures().get(0).remove();//保存文檔wb.saveToFile("RemoveImage.xlsx",ExcelVersion.Version2010);wb.dispose();} }插入行或列
import com.spire.xls.*;public class InsertRowAndColumn {public static void main(String[] args) {//加載文檔Workbook wb = new Workbook();wb.loadFromFile("test.xlsx");//獲取工作表Worksheet sheet = wb.getWorksheets().get(0);sheet.insertRow(2);//在第2行插入默認格式的行//sheet.insertRow(2,2);//在第2行插入默認格式的兩行//sheet.insertRow(5,1,InsertOptionsType.FormatAsAfter);//在第5行插入和下一行格式相同的兩行sheet.insertColumn(3);//在第3列插入默認格式的列//sheet.insertColumn(3,2);//在第3列插入默認格式的兩列//sheet.insertColumn(3,1,InsertOptionsType.FormatAsBefore);//在第3列插入和前一列格式相同的一列//保存文檔wb.saveToFile("InsertRowAndColumn.xlsx");wb.dispose();} }隱藏、顯示行或列
import com.spire.xls.*;public class HideAndShowRowOrColumn {public static void main(String[] args) {//加載文檔Workbook wb = new Workbook();wb.loadFromFile("test.xlsx");//獲取指定工作表Worksheet sheet = wb.getWorksheets().get(0);//隱藏第9行sheet.hideRow(9);//隱藏第3列sheet.hideColumn(3);//sheet.showRow(3);//顯示行//sheet.showColumn(3);//顯示列//保存文檔wb.saveToFile("HideAndShow.xlsx");wb.dispose();} }刪除行或列
import com.spire.xls.*;public class DeleteRowAndColumn {public static void main(String[] args) {//加載文檔Workbook wb = new Workbook();wb.loadFromFile("test.xlsx");//獲取工作表Worksheet sheet = wb.getWorksheets().get(0);sheet.deleteRow(1);//刪除第1行//sheet.deleteRow(1,2);//刪除第1行及下一行在內的兩行sheet.deleteColumn(4);//刪除第4列//sheet.deleteColumn(4,2);//刪除第4列及右側一列在內的兩列//保存文檔wb.saveToFile("DeleteRowAndColumn.xlsx");wb.dispose();} }總結
以上是生活随笔為你收集整理的Java 操作excel 插入删除列,插入删除图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学习记录】卷积神经网络常用概念
- 下一篇: Java、计算π