Apache POI 5.2.2:如何根据偏移和尺寸以厘米为单位绘制XSSFSimpleShape?
创始人
2024-09-04 15:30:35
0

要根据偏移和尺寸以厘米为单位绘制XSSFSimpleShape,可以使用Apache POI库提供的尺寸转换方法。下面是一个示例代码,演示了如何在指定的位置以厘米为单位绘制一个简单的形状。

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;

public class XSSFShapeExample {
    public static void main(String[] args) {
        // 创建一个新的工作簿
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        // 创建一个简单的形状
        XSSFDrawing drawing = (XSSFDrawing) sheet.createDrawingPatriarch();
        XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 0, 0, 0);
        XSSFSimpleShape shape = drawing.createSimpleShape(anchor);
        shape.setShapeType(ShapeTypes.RECT);
        
        // 设置形状的位置和尺寸(以厘米为单位)
        double offsetX = cmToEMU(2.54); // 1厘米等于英制单位EMU的12700
        double offsetY = cmToEMU(5);
        double width = cmToEMU(3);
        double height = cmToEMU(2);

        shape.setAnchor(new XSSFClientAnchor(
                0, 0, 0, 0,
                (int) offsetX, (int) offsetY, (int) (offsetX + width), (int) (offsetY + height)
        ));

        // 将工作簿写入文件
        try {
            FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
            workbook.write(fileOut);
            fileOut.close();
            workbook.close();
            System.out.println("文件已成功保存。");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    // 厘米转换为EMU(英制单位)
    public static double cmToEMU(double cm) {
        return cm * 12700;
    }
}

请注意,上述示例假设你已经正确地设置了Apache POI库的依赖项和引入语句。此外,此示例将形状绘制到一个新的Excel工作簿,并将其保存为名为"workbook.xlsx"的文件。你可以根据自己的需求进行修改。

相关内容

热门资讯

第5次性理解!友友邳州辅助软件... 第5次性理解!友友邳州辅助软件下载“解密开挂辅助方法”1、每一步都需要思考,不同水平的挑战会更加具有...
第5次性掌握!赣牌圈控制牌型“... 第5次性掌握!赣牌圈控制牌型“解迷开挂辅助神器”赣牌圈控制牌型软件透明挂微扑克wpk插件教程:1、微...
5次性发现!桂林字牌辅助科技助... 5次性发现!桂林字牌辅助科技助手“科普开挂辅助教程”1、玩家可以在桂林字牌辅助科技助手软件透明挂俱乐...
一次性发现!逍遥辅助器win1... 一次性发现!逍遥辅助器win11可以用“解谜开挂辅助教程”1、下载好逍遥辅助器win11可以用辅助软...
五次性领会!pokeplus脚... 五次性领会!pokeplus脚本“解迷开挂辅助方法”1)pokeplus脚本辅助挂:进一步探索pok...
第四次性发现!德扑之星安卓插件... 第四次性发现!德扑之星安卓插件“解迷开挂辅助软件”该软件可以轻松地帮助玩家将德扑之星安卓插件透视辅助...
第1次性体悟!wepoker辅... 第1次性体悟!wepoker辅助器软件下载“关于开挂辅助方法”该软件可以轻松地帮助玩家将wepoke...
第九次性指导!hhpoker辅... 第九次性指导!hhpoker辅助挂“必备开挂辅助教程”1、这是跨平台的hhpoker辅助挂黑科技,在...
第3次性指导!广东闲来辅助视频... 第3次性指导!广东闲来辅助视频“解谜开挂辅助工具”1、广东闲来辅助视频ai辅助优化,广东闲来辅助视频...
十次性俱乐部!wepoker私... 十次性俱乐部!wepoker私局代打“外挂开挂辅助方法”小薇(透视辅助)致您一封信;亲爱wepoke...