1、pom.xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.13</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.4</version>
</dependency>
2、poi 設置文本框
package com.poi.test;
import java.awt.Color;
import java.io.*;
import org.apache.poi.xssf.usermodel.*;
import org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties;
public class XlsColors23 {
static String fileName = "I:/home/irfs/data_file/temp/TestWorkbook23.xlsx";
public static void main(String[] args) throws Exception {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sht = wb.createSheet();
File file = new File(fileName);
//列開始值
int colStart = 5;
//創建畫布
XSSFDrawing draw = sht.createDrawingPatriarch();
//創建錨點(0,0,0,0,col1, row1, col2, row2)
/*創建一個新的客戶端錨,並設置左上角和右下角
*通過單元格引用和偏移量錨定的座標。
* @param dx1第一個單元格內的x座標。
* @param dy1第一個單元格內的y座標。
* @param dx2第二個單元格內的x座標。
* @param dy2第二個單元格內的y座標。
* @param col1第一個單元格的列(從0開始)。
* @param row1第一個單元格的行(從0開始)。
* @param col2第二個單元格的列(從0開始)。
* @param row2第二個單元格的行(從0開始)。
*/
XSSFClientAnchor createAnchor = draw.createAnchor(0, 0, 0, 0, colStart, 11, colStart + 6, 11+7);
//XSSFShapeGroup group = draw.createGroup(createAnchor);
//*設置該組的座標空間。 所有孩子都受到約束至這些座標。( x1, y1, x2, y2)
//group.setCoordinates(colStart, 11, colStart + 6, 11+7);
//創建子錨點,左上角和右下角( x, y, cx, cy)
//XSSFChildAnchor childAnchor = new XSSFChildAnchor(0, 0, 6, 7);
//創建文本框
//XSSFTextBox tb1 = group.createTextbox(childAnchor);
//創建文本框
XSSFTextBox tb1 = draw.createTextbox(createAnchor);
//設置邊框顏色,黑色
tb1.setLineStyleColor(0, 0, 0);
//設置邊框寬度
//tb1.setLineWidth(2);
//設置填充色,白色
Color col = Color.white;
tb1.setFillColor(col.getRed(), col.getGreen(), col.getBlue());
//富文本字符串
XSSFRichTextString address = new XSSFRichTextString("測試");
tb1.setText(address);
//文字字符屬性
CTTextCharacterProperties rpr = tb1.getCTShape().getTxBody().getPArray(0).getRArray(0).getRPr();
//設置字體
rpr.addNewLatin().setTypeface("Trebuchet MS");
//設置字體大小9pt
rpr.setSz(900);
//設置字體顏色,藍色
col = Color.blue;
rpr.addNewSolidFill().addNewSrgbClr().setVal(new byte[]{(byte)col.getRed(),(byte)col.getGreen(),(byte)col.getBlue()});
FileOutputStream fout = new FileOutputStream(file);
wb.write(fout);
fout.close();
wb.close();
}
}