XSSF导出EXCEL表格无法让列宽自适应

XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("扣费明细");

   XSSFCellStyle cellStyle = workbook.createCellStyle();
   cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);
   cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
   cellStyle.setWrapText(false);
   cellStyle.setBorderBottom(BorderStyle.THIN);    
   cellStyle.setBorderLeft(BorderStyle.THIN);   
   cellStyle.setBorderTop(BorderStyle.THIN);    
   cellStyle.setBorderRight(BorderStyle.THIN); 
   int a,b,c,d;
   for(int i =0;i <=list.size();i++){
        a=map.get("TGF").toString()
       XSSFRow row = sheet.createRow(i);

       if(i==0){
         XSSFCell glrcell = row.createCell(0);
         glrcell.setCellStyle(cellStyle);
         glrcell.setCellValue("管理人");

         XSSFCell cpmccell = row.createCell(1);
         cpmccell.setCellValue("产品名称"); 
         cpmccell.setCellStyle(cellStyle);

         XSSFCell glfzhmcell = row.createCell(2);
        glfzhmcell.setCellValue("管理费账户名");
        glfzhmcell.setCellStyle(cellStyle);

         XSSFCell glfzhcell = row.createCell(3);
         glfzhcell.setCellValue("管理费账号");
         glfzhcell.setCellStyle(cellStyle);

         XSSFCell glfkhhcell = row.createCell(4);
         glfkhhcell.setCellValue("管理费开户行");
         glfkhhcell.setCellStyle(cellStyle);

         XSSFCell glfdezfhcell = row.createCell(5);
         glfdezfhcell.setCellValue("管理费大额支付号");
         glfdezfhcell.setCellStyle(cellStyle);

         XSSFCell xzfwfzhmcell = row.createCell(6);
         xzfwfzhmcell.setCellValue("行政服务费账户名");
         xzfwfzhmcell.setCellStyle(cellStyle);

         XSSFCell xzfwzhcell = row.createCell(7);
         xzfwzhcell.setCellValue("行政服务费账号");
         xzfwzhcell.setCellStyle(cellStyle);

         XSSFCell xzfwkhhcell = row.createCell(8);
         xzfwkhhcell.setCellValue("行政服务费开户行");
         xzfwkhhcell.setCellStyle(cellStyle);

         XSSFCell xzfwdezfhcell = row.createCell(9);
         xzfwdezfhcell.setCellValue("行政服务费大额支付号");
         xzfwdezfhcell.setCellStyle(cellStyle);

         XSSFCell tgfzhmcell = row.createCell(10);
         tgfzhmcell.setCellValue("托管费账户名"); 
         tgfzhmcell.setCellStyle(cellStyle);

         XSSFCell tgfzhcell = row.createCell(11);
         tgfzhcell.setCellValue("托管费账号");
         tgfzhcell.setCellStyle(cellStyle);

         XSSFCell tgfkhhcell = row.createCell(12);
         tgfkhhcell.setCellValue("托管费开户行");
         tgfkhhcell.setCellStyle(cellStyle);

         XSSFCell tgfdezfhcell = row.createCell(13);
         tgfdezfhcell.setCellValue("托管费大额支付号");
         tgfdezfhcell.setCellStyle(cellStyle);

         XSSFCell tgfcell = row.createCell(14);
         tgfcell.setCellValue("托管费");
         tgfcell.setCellStyle(cellStyle);

         XSSFCell glfcell = row.createCell(15);
         glfcell.setCellValue("管理费"); 
         glfcell.setCellStyle(cellStyle);

         XSSFCell xzfwfcell = row.createCell(16);
         xzfwfcell.setCellValue("行政服务费");
         xzfwfcell.setCellStyle(cellStyle);

         XSSFCell zfycell = row.createCell(17);
         zfycell.setCellValue("总费用");
         zfycell.setCellStyle(cellStyle);


       }else{
         Map map = list.get(i-1);
         XSSFCell glrcell = row.createCell(0);
         glrcell.setCellValue(map.get("GLR").toString());
         glrcell.setCellStyle(cellStyle);            

         XSSFCell cpmccell = row.createCell(1);
         cpmccell.setCellValue(map.get("CPMC").toString());
         cpmccell.setCellStyle(cellStyle);           

         XSSFCell glfzhmcell = row.createCell(2);
         glfzhmcell.setCellValue(map.get("GLFZHM").toString());
         glfzhmcell.setCellStyle(cellStyle);

         XSSFCell glfzhcell = row.createCell(3);
         glfzhcell.setCellValue(map.get("GLFZHH").toString());
         glfzhcell.setCellStyle(cellStyle);

         XSSFCell glfkhhcell = row.createCell(4);
         glfkhhcell.setCellValue(map.get("GLFKHH").toString()); 
         glfkhhcell.setCellStyle(cellStyle);

         XSSFCell glfdezfhcell = row.createCell(5);
         glfdezfhcell.setCellValue(map.get("GLFDEZFH").toString());
         glfdezfhcell.setCellStyle(cellStyle);

         XSSFCell xzfwfzhmcell = row.createCell(6);
         xzfwfzhmcell.setCellValue(map.get("XZFWFZHM").toString());
         xzfwfzhmcell.setCellStyle(cellStyle);

         XSSFCell xzfwzhcell = row.createCell(7);
         xzfwzhcell.setCellValue(map.get("XZFWFZHH").toString());
         xzfwzhcell.setCellStyle(cellStyle);

         XSSFCell xzfwkhhcell = row.createCell(8);
         xzfwkhhcell.setCellValue(map.get("XZFWFKHH").toString());
         xzfwkhhcell.setCellStyle(cellStyle);

         XSSFCell xzfwdezfhcell = row.createCell(9);
         xzfwdezfhcell.setCellValue(map.get("XZFWFDEZFH").toString());
         xzfwdezfhcell.setCellStyle(cellStyle);

         XSSFCell tgfzhmcell = row.createCell(10);
         tgfzhmcell.setCellValue(map.get("TGFZHM").toString());
         tgfzhmcell.setCellStyle(cellStyle);

         XSSFCell tgfzhcell = row.createCell(11);
         tgfzhcell.setCellValue(map.get("TGFZHH").toString());
         tgfzhcell.setCellStyle(cellStyle);

         XSSFCell tgfkhhcell = row.createCell(12);
         tgfkhhcell.setCellValue(map.get("TGFKHH").toString()); 
         tgfkhhcell.setCellStyle(cellStyle);

         XSSFCell tgfdezfhcell = row.createCell(13);
         tgfdezfhcell.setCellValue(map.get("TGFDEZFH").toString());
         tgfdezfhcell.setCellStyle(cellStyle);

         XSSFCell tgfcell = row.createCell(14);
         tgfcell.setCellValue(map.get("TGF").toString());
         tgfcell.setCellStyle(cellStyle);

         XSSFCell glfcell = row.createCell(15);
         glfcell.setCellValue(map.get("GLF").toString()); 
         glfcell.setCellStyle(cellStyle);

         XSSFCell xzfwfcell = row.createCell(16);
         xzfwfcell.setCellValue(map.get("XZFWF").toString());
         xzfwfcell.setCellStyle(cellStyle);

         XSSFCell zfycell = row.createCell(17);
         zfycell.setCellValue(map.get("ZFY").toString()); 
         zfycell.setCellStyle(cellStyle);

   }
  // sheet.autoSizeColumn(14,1000000000000);
  // sheet.autoSizeColumn(15,1000000000000);
  //sheet.autoSizeColumn(16,1000000000000);
   //sheet.autoSizeColumn(17,1000000000000);
   sheet.setColumnWidth(14,22);

    这是代码,求大神帮助,无奈了

1个回答

凡是做了什么跨咧居中啊,合并单元格的想自适应都没用,除非一个cell一个cell的给style

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
让DataGridView的列宽自适应
让DataGridView的列宽自适应,txt文档
python 导出excel表格,自适应宽度
直接上代码 参数  filename 输出的文件名  tabletitle 表标题  remark  备注 bodytitle 表头 格式如: [&quot;学生学号&quot;, &quot;学生名字&quot;, &quot;课程名称&quot;, &quot;课程编号&quot;, &quot;考试类型&quot;, '考试名字', &quot;考试时间&quot;, &quot;是否补考&quot;, &quot;成绩得分&quot;]   datalist 表格数据 格式二维数
QTableWidget行高列宽自适应
ui-&amp;gt;tableWidget-&amp;gt;horizontalHeader()-&amp;gt;setSectionResizeMode(QHeaderView::Stretch); ui-&amp;gt;tableWidget-&amp;gt;verticalHeader()-&amp;gt;setSectionResizeMode(QHeaderView::Stretch);  
Swing表格列宽自适应
Swing表格列宽自适应 从别人分享的代码中得到了一些启发。 1.要想实现JTable宽度自适应,必须首先调用setAutoResizeMode方法,将JTable的自适应模适修改为JTable.AUTO_RESIZE_OFF,默认为JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS。 在设置此方法前,需要先比较如果表格当前的实际大小并没有达到父容器的宽度,则...
ligerGrid 列宽如何自适应
ligerGrid 列宽如何自适应
vsflexgrid 的列宽,如何让它自适应列名的宽度呢???
rnrn如何让vsflexgrid 的列宽自适应字段名里内容的宽度呢??????????
请教:如何让列宽自适应要显示内容的宽度
如题
复制保留源列宽Excel表格
在Excel中,如果把按纸张大小设置好列宽、准备打印输出的表格复制一份,想更改其部分表格内容作为另一份表格时,是否发现粘出的表格内容没 变,但列的宽度却变了?只有再次调整列宽才能打印输出。其实我们只要再接着做一步就能使粘出的表格保留源列宽。如在工作表中选中准备复制的单元格,复制到 别的单元格,会发现新粘出的表格虽然列宽变了,但表格的右下角却多出来一个“粘贴选项”按钮,如果没有发现“粘贴选项”按钮,...
如何让DataGridView中的列宽为自动列宽?
如何让DataGridView中的列宽为自动列宽?或是指定列宽?
easyui表格datagrid列宽自适应
使用fitcolumns="true"参数就可以了。如下所示: fitcolumns="true" style="width: 100%; height: 100%" data-options=" iconCls: 'icon-edit', sortName:'staStatus',
POI Excel列宽中文自适应
POI Excel列宽中文自适应 // 自适应宽度(中文支持) private void setSizeColumn(HSSFSheet sheet) { for (int columnNum = 0; columnNum &amp;lt;= 8; columnNum++) { int columnWidth = sheet.getColumnWidth(columnNum) /...
dataGridView 使列宽自适应内容
            for (int i = 0; i &amp;lt; dataGridViewX1.ColumnCount; i++)            {                dataGridViewX1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;            }...
XSSFjar包XSSFjar包
XSSF jarXSSF jarXSSF jar
POI导出excel--设置字体,颜色,行高自适应,列宽自适应,锁住单元格,合并单元格
1. 前言 poi框架可以支持我们在java代码中, 将数据导出成excel , 在上一篇 如何使用POI导出excel表格,以及处理浏览器无法识别下载文件的问题 中已经详细的进行了介绍 , 但是实际开发中, 往往还需要设置excel字体,颜色,行高,列宽等属性, 有时候还需要锁住单元格, 防止别人讲数据随意篡改. 废话不多说, 直接上代码 2. 锁住单元格 导出excel , 自...
POI使用XSSF导出设置列默认格式无效的问题
在项目中使用APACHE POI导出Excel文档的时候使用XSSF,SXSSF(2007)格式时,通过Sheet.setDefaultColumnStyle想设置列的默认格式,但是无效,在HSSF(2003)格式中正常,不知为何? 网上搜索一大圈,发现可能是POI的一个BUG,而且好像至今没有修复。 Bug详细信息地址: https://bz.apache.org/bugzilla/sho
导出为Excel后的列宽问题?
在程序中将表中的数据导出为Excel,问题是表中每个字段的长度都不一样,而导出的Excel表中各列的宽度是均等的。本来可以固定Excel文件的列宽,但表中有20多个字段,用户在每次导出的时候不固定选择字段,可能是1、3、5、6也可能是其他列,有没有什么办法,可以在导出的Excel表中使列的宽度同值最长的字段一致。令其宽度具有自适用的功能?rn 烦人的问题,不知哪位高手能帮帮小弟?万分感激!多谢了!!!很急!
jasperreport 导出excel 列宽问题
项目中使用jasperreport 导出excel报表的时候,如果有个单元格字符串长度过长时,excel会跟你自动截断,我想达到的效果是,如果单元格字符串过长,让他给隐藏掉,请问如何控制列宽,急。。。谢了
xtragrid导出背景色及列宽问题
我们在使用DEVEXPRESS的DataGridView的时候,会根据不同的条件给单元格指定的不同的背景色,以示区分,但当要把这些背景色导出到Excel文件时发现背景色不见了,该怎么办?
gridview导出excel的列宽设置问题
以下是导出按钮的代码,问题处在 我想将第二列以后的数据在excel中设置为最合适列宽,rg.Columns.AutoFit();这句代码对文本行的单元格有效,但是对于我第三列数字行的单元格就无效,打开excel显示数值型单元格时,如果数据位数多了就显示成了#####,有没有办法呀!小弟也是初次接触导出excel的问题,求高人支招!!!以下是代码rn GridView1.AllowPaging = false;rn bind();rnrn Microsoft.Office.Interop.Excel.ApplicationClass oExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();rn object oMissing = System.Reflection.Missing.Value;rnrn oExcel.Workbooks.Add(oMissing);rn Microsoft.Office.Interop.Excel.Workbook oBook = oExcel.Workbooks[1];rn Microsoft.Office.Interop.Excel.Worksheet oSheet = (Microsoft.Office.Interop.Excel.Worksheet)oBook.Sheets[1];rn oSheet.Name = "批量入账模块";rnrn Microsoft.Office.Interop.Excel.Range rg;rnrn for (int j = 0; j < this.GridView1.HeaderRow.Cells.Count - 3; j++) //GridView1.HeaderRow.Cells.Count-3列数减三是为了不把选择 修改 删除这三列添加到excel中,虽然“选择”这一列设置隐藏,实际在总数中还存在。rn rn rg = ((Microsoft.Office.Interop.Excel.Range)oSheet.Cells[1, j + 1]);rnrn rg.FormulaR1C1 = this.GridView1.HeaderRow.Cells[j].Text;rn rn oSheet.Cells.NumberFormatLocal = "@";rnrnrn for (int i = 0; i < this.GridView1.Rows.Count; i++) rn rn for (int j = 0; j < this.GridView1.Rows[0].Cells.Count; j++)rn rn rn rg = ((Microsoft.Office.Interop.Excel.Range)oSheet.Cells[i + 2, j + 1]);//i是行号,excel读数从1开始,第一行又是表头所以初始加2,j是列号,加一就可以了。rn //if (j + 1 == this.GridView1.Rows[0].Cells.Count)rn if (j == 3) //j=3实际是第四列,循环从0开始。第四列是金额列,格式要设置为数字。rn rn rg.NumberFormatLocal = "#,##0.00";rn rn rn rg.FormulaR1C1 = this.GridView1.Rows[i].Cells[j].Text;rn if (j > 1)rn rn rg.Columns.AutoFit();rn rn rnrn rn rn rg = null;rnrnrnrnrn string VirFileName = "批量入账模块" + Regex.Replace(DateTime.Now.ToString(), @"\D", "") + ".xls";rnrn oBook.SaveAs(Server.MapPath(VirFileName),56, oMissing, oMissing, oMissing, oMissing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,rn oMissing, oMissing, oMissing, oMissing, oMissing);rn oExcel.Workbooks.Close();rn oExcel.Quit();rnrn oSheet = null;rn oBook = null;rn oExcel = null;rnrn GC.Collect();rnrn Response.Redirect(VirFileName);rn rn GridView1.AllowPaging = true;rn bind();rn
c#设置导出Excel的列宽
创建sheet页:sheet1             sheet1.SetColumnWidth(0, 20 * 256);             sheet1.SetColumnWidth(1, 30 * 256);             sheet1.SetColumnWidth(2, 20 * 256);             sheet1.SetColumnWidth(3, 15...
导出Excel表格
开发工具与关键技术: VS, Excel表格 作者:卢惠圳 撰写时间:2019年5月24日 导出数据到Excel表格首先是JS部分,先获取到当前页面上表格里的数据,但是有时候不需要将表格里全部的数据都导出所以可以先获取当前表格数据的筛选条件,这样就可以获取到已经经过筛选的数据不用将表格里数据全部获取一遍,接下来再判断获取到的数据是否为空或undefined如果为空或undefined就让它等于一个...
Excel表格导出
开发工具与关键技术:MVC 作者:文泽钦 撰写时间:2019年5月25日 员工数据导出到excel表格,导出前要对数据处理,因为一个项目可以导出的数据比较多,在导出前可以先对数据的查询筛选,把需要的数据导出,这样减少了不必要的数据出现。 //导出数据到Excel表格 function ExportToExcel() { //获取当前表格数据的筛选条件 ...
导出excel表格
我有一个List里面保存的是对象如何用excel表格导出rn要求:rnid_u name_u onworktime upworktime result_u other rn9 jack 2007-11-2 2007-11-2 无 迟到rn10 jack 2007-11-2 2007-11-2 无 迟到rn11 jack 2007-11-2 2007-11-2 无 迟到rn
列宽
请问高手们JTable中的列宽怎么设置啊???
iframe 高宽自适应
如题。。怎样才能做到iframe左侧固定不变。右侧随着内容而自动改变框架的高度和宽度。。不显示滚动条rnrn[code=HTML]rnrn frameborder="0" scrolling="no"rnrn[/code]rnrn要兼容ie6、firefoxrnrn
解决导出excel表格无法打开的问题
前后端分离实现导出excel,后端使用easyexcel将数据写入excel表格,然后将其写入到响应流中,关于easyexcel的快速使用可参考文章:JAVA使用easyexcel导出excel 后端主要代码如下: public &amp;lt;T extends BaseRowModel&amp;gt; void exportExcel(HttpServletResponse response, List&amp;lt...
请教.table如何只让最后一列自适应内容宽度,其他列保持列宽...
例如:[code=HTML]rn12344444444444444444444444444444444444rn[/code]rnrn前三列保持列宽, rn第四列自适应宽度,不折行,可以有横向滚动条.rnrntable-layout加的话,最后一列不能自适应宽度
解决table列宽无法修改问题
修改前<table id="major-table" class="table table-bordered text-center table-striped col-md-12" style="margin-top: 15px; " > <thead>
GridView 无法固定列宽的问题
rnrn如果在 GridView 中定义 PagerSettings-Position="Top",列宽可以控制rnrn但一旦改成 PagerSettings-Position="TopAndBottom",列宽都是平均分配,无法控制了。rn此时,如果去掉 style="table-layout: fixed; text-align: center",列宽可以部分控制,内容有多长,列就显示多宽,不能限制为指定的列宽。rnrn请问如何解决?
为什么无法获得datagridView的列宽呢?
myRect = dataGridView1.GetCellDisplayRectangle(1, 1, false);//获得第1行第1列的RECTrnMessageBox.Show(myRect.width);//如果datagridview别拉的很窄,把第1列第1行遮住了那这里就弹出0,如果全部显示就能弹成正确值。rn有什么办法即使列没有完全显示,也能得到该列的列宽呢?
奇怪地无法修改 DB2 列宽
原来我的表中某个列长度是 varchar(64), 现在我准备加长到 256.rn我的 'M' 表与 'W' (主表,和草稿版数据的表)表结构是一样的,唯一的差别是 'W' 表多一个列 M_IPKEY 它的值 = M 表的 IPKEY,但两个表之间没有外键关系。rnrn一开始以以为记录总长度有什么问题,验证了一下,这些表中字段总长度是1126,我把一个字段加长后也才 1126 + 256 - 64 ,而我把 'W' 表中的 ATTR1/2/3/4/5_VAL 一共 5 个 ATTR?_VAL 列加长到 256 它都没出错,只是这个 'M' 表把其中一个 ATTR1_VAL 加长都不成功,我试了,实际上那个5个字段任意一个都不能加长,但从错误消息中看懂它到底想说什么。rnrn表中没有 clob / blob 这些列,只有 TIME, DATE, SMALLINT, BIGINT 这几种类型的列。rnrn谁提示下这可能是啥毛病,我仔细对比过 W 和 M (W 表多一个列,其它与 M 表完全相同的)如果是列超长那W 表应该先出错。rnrn这条 SQL 成功了:rnALTER TABLE COWDOI000 ALTER ATTR1_VAL SET DATA TYPE VARCHAR(256);rnALTER TABLE COWDOI000 ALTER ATTR2_VAL SET DATA TYPE VARCHAR(256);rnALTER TABLE COWDOI000 ALTER ATTR3_VAL SET DATA TYPE VARCHAR(256);rnALTER TABLE COWDOI000 ALTER ATTR4_VAL SET DATA TYPE VARCHAR(256);rnALTER TABLE COWDOI000 ALTER ATTR5_VAL SET DATA TYPE VARCHAR(256);rnrn这条 SQL 失败了:rnALTER TABLE COMDOI000 ALTER ATTR1_VAL SET DATA TYPE VARCHAR(256);rnrnrn>[Error] Script lines: 1-1 --------------------------rn DB2 SQL Error: SQLCODE=-270, SQLSTATE=42997, SQLERRMC=21, DRIVER=3.50.152rn Message: Function not supported (Reason code = "21").. SQLCODE=-270, SQLSTATE=42997, DRIVER=3.50.152
DataGridView 最后一列 列宽无法拖动
在运行时rn其他列的列宽都可以无限拖动,而最后一列一旦拖动到 DataGridView 的最右边就不让拖了rn这个怎么解决呢
extjs4 列宽自适应,列高自适应(换行),grid内容自适应,window窗体自适应grid,相互之间有冲突
var pageRight_store = Ext.create('Ext.data.Store', {  //model: 'pageRight',  fields: [     { name : 'roleName' }, { name : 'roleRights' },{ name:'roleUser' }  ],  pageSize:200,//不加,点击下一页时默认25...
能否让ListView固定列宽?
将ListView设置为Detail模式,能否不让用户通过鼠标调整宽度,我目前是响应MouseMove事件,发现用户修改了宽度,马上改回去.
QTableView自适应填充伸展列宽的基础上 再固定特定某列宽
setModel(model); horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//所有列都扩展自适应宽度,填充充满整个屏幕宽度 //horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents );//根据列内容来定列宽 horizontalHeader()->setSectionResizeMode(0, QHeaderView:
关于自适应label — 自适应宽/高度
label 的自适应宽度经常会遇到啦,在这里整理一下 CGSize sizeLabel5 = [_label5.text sizeWithFont:_label5.font constrainedToSize:CGSizeMake(MAXFLOAT, sizeLabel5.height) lineBreakMode:NSLineBreakByCharWrapping]; 当让
XSSF根据模板导出多个sheet
package com.thinkgem.jeesite.common.utils.excel; import java.io.*; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.*; import javax.servlet.http.HttpServletResponse...
如何让DBGRID列的宽度自适应???
本来就两三个字长度的字段,在DBGRID里一显示出来列宽太多了rn以至于后面的字段都没在显示出来,还得按滚动条,能不能rn让DBGRID的列宽自适应,或是用程序什么的在显示出来前调合适了??
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池