java cell是什么 java 导出excel 怎样设置单元格宽度自适应
大家好,今天给各位分享java cell是什么的一些知识,其中也会对java 导出excel 怎样设置单元格宽度自适应进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
java 如何操作excel 插入一列
1.创建文件。
拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:
代码(CreateXLS.java):
//生成Excel的类
import java.io.*;
import jxl.*;
import jxl.write.*;
public class CreateXLS
{
public static void main(String args[])
{
try
{
//打开文件
WritableWorkbook book=
Workbook.createWorkbook(new File(“测试.xls”));
//生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet=book.createSheet(“第一页”,0);
//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
//以及单元格内容为test
Label label=new Label(0,0,”test”);
//将定义好的单元格添加到工作表中
sheet.addCell(label);
/*生成一个保存数字的单元格
必须使用Number的完整包路径,否则有语法歧义
单元格位置是第二列,第一行,值为789.123*/
jxl.write.Number number= new jxl.write.Number(1,0,789.123);
sheet.addCell(number);
//写入数据并关闭文件
book.write();
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}
编译执行后,会在当前位置产生一个Excel文件。
2.读取文件
以刚才创建的Excel文件为例,做一个简单的读取操作,程序代码如下:
//读取Excel的类
import java.io.*;
import jxl.*;
public class ReadXLS
{
public static void main(String args[])
{
try
{
Workbook book=
Workbook.getWorkbook(new File(“测试.xls”));
//获得第一个工作表对象
Sheet sheet=book.getSheet(0);
//得到第一列第一行的单元格
Cell cell1=sheet.getCell(0,0);
String result=cell1.getContents();
System.out.println(result);
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}
程序执行结果:test
3.修改文件
利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他操作和创建Excel是一样的。下面的例子是在已经生成的Excel文件中添加一个工作表:
//修改Excel的类,添加一个工作表
import java.io.*;
import jxl.*;
import jxl.write.*;
public class UpdateXLS
{
public static void main(String args[])
{
try
{
//Excel获得文件
Workbook wb=Workbook.getWorkbook(new File(“测试.xls”));
//打开一个文件的副本,并且指定数据写回到原文件
WritableWorkbook book=
Workbook.createWorkbook(new File(“测试.xls”),wb);
//添加一个工作表
WritableSheet sheet=book.createSheet(“第二页”,1);
sheet.addCell(new Label(0,0,”第二页的测试数据”));
book.write();
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}
java 导出excel 怎样设置单元格宽度自适应
importjava.io.FileOutputStream;
import .org.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFCellStyle;
importorg.apache.poi.hssf.usermodel.HSSFFont;
importorg.apache.poi.hssf.usermodel.HSSFRow;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
importorg.apache.poi.hssf.usermodel.HSSFRichTextString;
importorg.apache.poi.hssf.usermodel.HSSFDataFormat;
importorg.apache.poi.hssf.usermodel.HSSFComment;
importorg.apache.poi.hssf.usermodel.HSSFPatriarch;
importorg.apache.poi.hssf.usermodel.HSSFClientAnchor;
publicclassPoiCreateExcelTest{
publicstaticvoidmain(String[]args){
/**
*@see<arel="external nofollow" href="http://poi.apache.org/hssf/quick-guide.html#NewWorkbook">Formore</a>
*/
//创建新的Excel工作簿
HSSFWorkbookworkbook=newHSSFWorkbook();
//在Excel工作簿中建一工作表,其名为缺省值,也可以指定Sheet名称
HSSFSheetsheet=workbook.createSheet();
//HSSFSheetsheet=workbook.createSheet("SheetName");
//用于格式化单元格的数据
HSSFDataFormatformat=workbook.createDataFormat();
//创建新行(row),并将单元格(cell)放入其中.行号从0开始计算.
HSSFRowrow=sheet.createRow((short)1);
//设置字体
HSSFFontfont=workbook.createFont();
font.setFontHeightInPoints((short)20);//字体高度
font.setColor(HSSFFont.COLOR_RED);//字体颜色
font.setFontName("黑体");//字体
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//宽度
font.setItalic(true);//是否使用斜体
//font.setStrikeout(true);//是否使用划线
//设置单元格类型
HSSFCellStylecellStyle=workbook.createCellStyle();
cellStyle.setFont(font);
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平布局:居中
cellStyle.setWrapText(true);
//添加单元格注释
//创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
HSSFPatriarchpatr=sheet.createDrawingPatriarch();
//定义注释的大小和位置,详见文档
HSSFCommentcomment=patr.createComment(newHSSFClientAnchor(0,0,0,0,(short)4,2,(short)6,5));
//设置注释内容
comment.setString(newHSSFRichTextString("可以在POI中添加注释!"));
//设置注释作者.当鼠标移动到单元格上是可以在状态栏中看到该内容.
comment.setAuthor("Xuys.");
//创建单元格
HSSFCellcell=row.createCell((short)1);
HSSFRichTextStringhssfString=newHSSFRichTextString("HelloWorld!");
cell.setCellValue(hssfString);//设置单元格内容
cell.setCellStyle(cellStyle);//设置单元格样式
cell.setCellType(HSSFCell.CELL_TYPE_STRING);//指定单元格格式:数值、公式或字符串
cell.setCellComment(comment);//添加注释
//格式化数据
row=sheet.createRow((short)2);
cell=row.createCell((short)2);
cell.setCellValue(11111.25);
cellStyle=workbook.createCellStyle();
cellStyle.setDataFormat(format.getFormat("0.0"));
cell.setCellStyle(cellStyle);
row=sheet.createRow((short)3);
cell=row.createCell((short)3);
cell.setCellValue(9736279.073);
cellStyle=workbook.createCellStyle();
cellStyle.setDataFormat(format.getFormat("#,##0.0000"));
cell.setCellStyle(cellStyle);
sheet.autoSizeColumn((short)0);//调整第一列宽度
sheet.autoSizeColumn((short)1);//调整第二列宽度
sheet.autoSizeColumn((short)2);//调整第三列宽度
sheet.autoSizeColumn((short)3);//调整第四列宽度
try{
FileOutputStreamfileOut=newFileOutputStream("C:/3.xls");
workbook.write(fileOut);
fileOut.close();
}catch(Exceptione){
System.out.println(e.toString());
}
}
}
java advice
java advice是什么,让我们一起了解一下?
Advice是在Join Point上执行的一个动作或者通知,一般通过拦截器调用。Spring有两大核心,IOC和AOP,在模块AOP里面有个advice。
在Spring-AOP中,增强(Advice)是如何实现的?
按照增强在目标类方法连接点的位置可以将增强划分为以下五类:
前置增强(org.springframework.aop.BeforeAdvice)表示在目标方法执行前来实施增强。
后置增强(org.springframework.aop.AfterReturningAdvice)表示在目标方法执行后来实施增强。
环绕增强(org.aopalliance.intercept.MethodInterceptor)表示在目标方法执行前后同时实施增强。
异常抛出增强(org.springframework.aop.ThrowsAdvice)表示在目标方法抛出异常后来实施增强。
引介增强(org.springframework.aop.introductioninterceptor)表示在目标类中添加一些新的方法和属性。
实战操作:Spring中Advice简单案例
1、配置类
@Configuration//配之类@EnableAspectJAutoProxy//启用AspectJ自动代理@ComponentScan(basePackages = {"spring01","spring02"}) //basePackages指定扫描的包 public class Config {}
2、切面类
@Aspect@Component public class Audience { /** * 相当于访问相同报下的不同的类,他们拥有相同的包路径,可以定义一个变量 */ @Pointcut("execution(* spring02.aspect.Performance.perform(..))") public void performance(){ } @Before("performance()") public void silenceCellPhones(){ System.out.println("====表演前将手机调静音"); } @Before("performance()") public void takeSeats(){ System.out.println("====表演前就做"); } @AfterReturning("performance()") public void applause(){ System.out.println("====表演后鼓掌"); } @AfterThrowing("performance()") public void demandRefund(){ System.out.println("====表演失败时退款"); } @Around("performance()") public void watchPerformance(ProceedingJoinPoint point){ try { System.out.println("====观看前1"); point.proceed(); System.out.println("====观看后2"); } catch (Throwable throwable) { throwable.printStackTrace(); } }}
3、被通知对象接口
public interface Performance { void perform();}
4、被通知对象实现类
@Component("performance") public class PerformanceImpl implements Performance{ @Override public void perform() { System.out.println("======表演开始====="); }}
5、测试类@RunWith(SpringJUnit4ClassRunner.class)//启动测试时创建Spring上下文@ContextConfiguration(classes = {Config.class})//配置文件对象 public class TestClass { @Autowired private Performance performance; @Test public void test(){ performance.perform(); }}
如果你还想了解更多这方面的信息,记得收藏关注本站。