我正在尝试使用POI将export const downloadPDF = (downloadLink, fileName, trackId, productId, historyId) => {
return (dispatch) => {
return request.doGetAuth(downloadLink).then(response => {
let contentType = response.headers.get('content-type');
if (_.includes(contentType, 'application/json')) {
return response.json();
} else {
return response.blob();
}
}).then(blobby => {
if (!blobby.message) {
const blob = new Blob([blobby], {
type: 'application/pdf'
});
if (isIos()) {
if (!isCriOs()) {
// For ios
let url = window.URL.createObjectURL(blob);
dispatch(downloadReadyAction(url, fileName));
} else {
// if chrome
let reader = new FileReader();
reader.onload = function(e) {
dispatch(downloadReadyAction(reader.result, fileName));
}
reader.readAsDataURL(blob);
}
} else {
FileSaver.saveAs(blob, fileName);
}
}
}).catch(err => {
console.log('Problem downloading pdf from server ' + err)
})
}
}
的宽度设置为colunm
,问题是宽度是原来的两倍,并且上面的函数只接受Int
我尝试使用setColumnWidth(rowindex, width)
,但该列中的居住空间仍然不足,我认为问题是excel和java之间的字体不匹配
代码
autosizecolumn
答案 0 :(得分:1)
您不能将double值传递给setColumnWidth以及autosizecolumn,因为Apache POI的两种方法都接受int值作为参数。 Apache POI的方法: 1. autoSizeColumn(int列) 调整列宽以适合内容。 2. setColumnWidth(int columnIndex,int width) 设置宽度(以字符宽度的1/256为单位) 您可以参考https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFSheet.html 有关更多详细信息。
答案 1 :(得分:0)
使用:
public static string value1 { get; set; } = "";
public static string value2 { get; set; } = "";
我不确定第二行是否必要,但是如果您在excel中手动更改列的宽度,它将自动设置CustomWidth = true。所以我只是添加它是为了安全。