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();
}
}