Java를 사용하여 Excel 그래픽을 추가, 읽기, 삭제하는 방법
1. 도면 추가(도면 유형/위치/크기 설정, 도면 채우기(단색/그래디언트 색상/텍스쳐/이미지 채우기), 도면 표시 또는 숨기기, 도면 기울기 각도, 도면에 텍스트 추가, 도면 그림자 등)
2. 도면에서 텍스트 및 이미지 추출
3. 도면 삭제(지정된 도면 또는 모든 도면 삭제)
도구:Spire.XLS for Java
Jar 파일 가져오기 및 가져오기: 공식 사이트 또는 Maven에서 다운로드하여 가져옵니다.가져오기 효과는 다음과 같습니다.
Java 코드 일람표
[예1] 그래픽 추가
import com.spire.xls.*;
import com.spire.xls.core.IPrstGeomShape;
import java.awt.*;
public class AddShape {
public static void main(String[] args) {
//テストドキュメントをロードする
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx");
//ワークシートを取得する
Worksheet sheet = wb.getWorksheets().get(0);
//楕円形を追加する
IPrstGeomShape ellipse = sheet.getPrstGeomShapes().addPrstGeomShape(3,4,125,200,PrstGeomShapeType.Ellipse);
ellipse.getFill().setFillType(ShapeFillType.SolidColor);//単色塗りつぶし
ellipse.getFill().setForeColor(new Color(180,125,208));
ellipse.setRotation(30);//図形の回転角度
ellipse.setText("楕円形にテキストを追加する");//図形にテキストを追加する
//星の図形を追加する
IPrstGeomShape star = sheet.getPrstGeomShapes().addPrstGeomShape(3,8,180,200,PrstGeomShapeType.Star5);
star.getFill().setFillType(ShapeFillType.Gradient);//グラデーション塗りつぶし
star.getFill().setGradientColorType(GradientColorType.Preset);
star.getFill().setForeColor(Color.orange);
//雲の図形を追加する
IPrstGeomShape cloud = sheet.getPrstGeomShapes().addPrstGeomShape(12,4,175,200,PrstGeomShapeType.Cloud);
cloud.getFill().setFillType(ShapeFillType.Texture);//テクスチャ塗りつぶし
cloud.getFill().setTexture(GradientTextureType.WhiteMarble);
cloud.setVisible(true);//図形が表示されるかどうかを設定する
//クラウドシャドウ効果を設定する
cloud.getShadow().setAngle(90);
cloud.getShadow().setDistance(10);
cloud.getShadow().setSize(100);
cloud.getShadow().setColor(Color.GRAY);
cloud.getShadow().setBlur(30);
cloud.getShadow().setTransparency(1);
cloud.getShadow().hasCustomStyle();
//長方形を追加する
IPrstGeomShape rect = sheet.getPrstGeomShapes().addPrstGeomShape(15,8,125,200,PrstGeomShapeType.Rect);
rect.getFill().customPicture("tp.png");//画像の塗りつぶしを読み込む
rect.setName("Shape4");//図形を命名する
//ドキュメントを保存する
wb.saveToFile("AddShape.xlsx");
wb.dispose();
}
}
추가 효과:【예2】 도형 속의 문자와 그림을 읽다
import com.spire.xls.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class Extract {
public static void main(String[] args) throws IOException {
//ドキュメントをロードする
Workbook wb = new Workbook();
wb.loadFromFile("C:\\Users\\Administrator\\IdeaProjects\\TEST\\AddShape.xlsx");
//ワークシートを取得する
Worksheet sheet = wb.getWorksheets().get(0);
//指定された図形のテキストを取得する
String text = sheet.getPrstGeomShapes().get(0).getText();
System.out.println(text);
//指定された形で写真を取得する
BufferedImage image = sheet.getPrstGeomShapes().get(3).getFill().getPicture();
ImageIO.write(image,"png",new File("ExtractedImage.png"));
}
}
텍스트 및 드로잉 읽기 결과:【예3】도형 삭제
import com.spire.xls.*;
public class RemoveShape {
public static void main(String[] args) {
//ドキュメントをロードする
Workbook wb = new Workbook();
wb.loadFromFile("C:\\Users\\Administrator\\IdeaProjects\\TEST\\AddShape.xlsx");
//ワークシートを取得する
Worksheet sheet = wb.getWorksheets().get(0);
//指定された図形を取得し、削除する
//sheet.getPrstGeomShapes().get(1).remove();//インデックス値による取得と削除する
// sheet.getPrstGeomShapes().get("Shape4").remove();//形状名で取得および削除する
//すべてのグラフィックを削除する
for (int i = sheet.getPrstGeomShapes().getCount()-1; i >= 0; i--)
{
sheet.getPrstGeomShapes().get(i).remove();
}
//ドキュメントを保存する
wb.saveToFile("RemoveShape.xlsx");
wb.dispose();
}
}
프로그램이 실행되면 도면 삭제 효과를 확인할 수 있습니다.이번에 도면을 추가, 읽기, 삭제하는 방법은 여기까지입니다. 끝까지 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(Java를 사용하여 Excel 그래픽을 추가, 읽기, 삭제하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/iceblue/items/b01b75d5aa6628c452a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)