Merge two release blocking fixes from Trunk
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/REL_3_11_BRANCH@1646123 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
36ae2d885a
commit
e225ceaacd
@ -714,8 +714,6 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public float getColumnWidthInPixels(int columnIndex) {
|
public float getColumnWidthInPixels(int columnIndex) {
|
||||||
int styleIdx = getColumnHelper().getColDefaultStyle(columnIndex);
|
|
||||||
CellStyle cs = getWorkbook().getStylesSource().getStyleAt(styleIdx);
|
|
||||||
float widthIn256 = getColumnWidth(columnIndex);
|
float widthIn256 = getColumnWidth(columnIndex);
|
||||||
return (float)(widthIn256/256.0*XSSFWorkbook.DEFAULT_CHARACTER_WIDTH);
|
return (float)(widthIn256/256.0*XSSFWorkbook.DEFAULT_CHARACTER_WIDTH);
|
||||||
}
|
}
|
||||||
|
@ -17,25 +17,15 @@
|
|||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import static org.junit.Assert.assertArrayEquals;
|
import static org.junit.Assert.*;
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertNotNull;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
|
|
||||||
import org.apache.poi.hssf.usermodel.HSSFPicture;
|
|
||||||
import org.apache.poi.hssf.usermodel.HSSFShape;
|
|
||||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
||||||
import org.apache.poi.ss.usermodel.BaseTestPicture;
|
import org.apache.poi.ss.usermodel.BaseTestPicture;
|
||||||
import org.apache.poi.ss.usermodel.ClientAnchor;
|
import org.apache.poi.ss.usermodel.ClientAnchor;
|
||||||
import org.apache.poi.xssf.XSSFITestDataProvider;
|
import org.apache.poi.xssf.XSSFITestDataProvider;
|
||||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTTwoCellAnchor;
|
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTTwoCellAnchor;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.STEditAs;
|
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.STEditAs;
|
||||||
@ -169,5 +159,4 @@ public final class TestXSSFPicture extends BaseTestPicture {
|
|||||||
|
|
||||||
wb.close();
|
wb.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -20,8 +20,6 @@ package org.apache.poi.hssf.usermodel;
|
|||||||
import static org.junit.Assert.assertArrayEquals;
|
import static org.junit.Assert.assertArrayEquals;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -36,7 +34,6 @@ import org.apache.poi.ss.usermodel.CreationHelper;
|
|||||||
import org.apache.poi.ss.usermodel.PictureData;
|
import org.apache.poi.ss.usermodel.PictureData;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.Ignore;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test <code>HSSFPicture</code>.
|
* Test <code>HSSFPicture</code>.
|
||||||
|
@ -18,13 +18,21 @@
|
|||||||
package org.apache.poi.ss.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.io.FileOutputStream;
|
import java.awt.Point;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
|
import org.apache.poi.hssf.HSSFITestDataProvider;
|
||||||
import org.apache.poi.ss.ITestDataProvider;
|
import org.apache.poi.ss.ITestDataProvider;
|
||||||
import org.apache.poi.ss.util.ImageUtils;
|
import org.apache.poi.ss.util.ImageUtils;
|
||||||
import org.apache.poi.util.Units;
|
import org.apache.poi.util.Units;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Yegor Kozlov
|
* @author Yegor Kozlov
|
||||||
@ -65,4 +73,65 @@ public abstract class BaseTestPicture {
|
|||||||
assertEquals("the image width differs", imgDim.getWidth(), inpDim.getWidth()/emuPX, 1);
|
assertEquals("the image width differs", imgDim.getWidth(), inpDim.getWidth()/emuPX, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testResizeNoColumns() throws IOException {
|
||||||
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
|
try {
|
||||||
|
Sheet sheet = wb.createSheet();
|
||||||
|
|
||||||
|
Row row = sheet.createRow(0);
|
||||||
|
|
||||||
|
handleResize(wb, sheet, row);
|
||||||
|
} finally {
|
||||||
|
wb.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testResizeWithColumns() throws IOException {
|
||||||
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
|
try {
|
||||||
|
Sheet sheet = wb.createSheet();
|
||||||
|
|
||||||
|
Row row = sheet.createRow(0);
|
||||||
|
row.createCell(0);
|
||||||
|
|
||||||
|
handleResize(wb, sheet, row);
|
||||||
|
} finally {
|
||||||
|
wb.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void handleResize(Workbook wb, Sheet sheet, Row row) throws IOException {
|
||||||
|
Drawing drawing = sheet.createDrawingPatriarch();
|
||||||
|
CreationHelper createHelper = wb.getCreationHelper();
|
||||||
|
|
||||||
|
final byte[] bytes = HSSFITestDataProvider.instance.getTestDataFileContent("logoKarmokar4.png");
|
||||||
|
|
||||||
|
row.setHeightInPoints(getImageSize(bytes).y);
|
||||||
|
|
||||||
|
int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
|
||||||
|
|
||||||
|
//add a picture shape
|
||||||
|
ClientAnchor anchor = createHelper.createClientAnchor();
|
||||||
|
//set top-left corner of the picture,
|
||||||
|
//subsequent call of Picture#resize() will operate relative to it
|
||||||
|
anchor.setCol1(0);
|
||||||
|
anchor.setRow1(0);
|
||||||
|
|
||||||
|
Picture pict = drawing.createPicture(anchor, pictureIdx);
|
||||||
|
|
||||||
|
//auto-size picture relative to its top-left corner
|
||||||
|
pict.resize();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Point getImageSize( byte [] image) throws IOException {
|
||||||
|
BufferedImage img = ImageIO.read(new ByteArrayInputStream(image));
|
||||||
|
|
||||||
|
assertNotNull(img);
|
||||||
|
|
||||||
|
return new Point(img.getWidth(), img.getHeight());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user