package test;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.hssf.util.Region;
import com.sun.java_cup.internal.internal_error;
public class ExportExcel {
public static void main(String[] args) {
HSSFWorkbook bookWorkbook = new HSSFWorkbook();// 创建excel文件
HSSFSheet sheet = bookWorkbook.createSheet("第一个");
HSSFCell cell;
HSSFRow row;
HSSFCellStyle style = bookWorkbook.createCellStyle();// 创建一个单元的样式
// 背景色的设定
style.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
// 前景色的设定
style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
// 填充模式
style.setFillPattern(HSSFCellStyle.FINE_DOTS);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 设置水平居中
style.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);// 上下居中
// 设置上下左右边框样式
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
// 设置字体
HSSFFont font = bookWorkbook.createFont();
font.setFontName("黑体");
font.setFontHeightInPoints((short) 22);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
String[] headRow1 = { "序号", "学校","", "班级信息","","个人信息","","", "综合考评" };
String[] headRow2 = { "", "名称", "位置", "年级", "几班", "姓名", "性别", "联系方式",
"" };
int rowint = 0;
int titlerow1 = rowint++;
row = sheet.createRow((short) titlerow1);
for (int i = 0; i < headRow1.length; i++) {
cell = row.createCell((short) i);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置值的编码格式,确保不会出现乱码
cell.setCellValue(headRow1[i]);
cell.setCellStyle(style);
}
int titlerow2 = rowint++;
row = sheet.createRow(titlerow2);
for (int i = 0; i < headRow2.length; i++) {
cell = row.createCell((short) i);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(headRow2[i]);
cell.setCellStyle(style);
}
// 合并单元格
sheet.addMergedRegion(new Region(titlerow1, (short) 1, titlerow1,
(short) 2));// 合并第一行
// 2,三两格,从0开始
sheet.addMergedRegion(new Region(titlerow1, (short) 3, titlerow1,
(short) 4));
sheet.addMergedRegion(new Region(titlerow1, (short) 5, titlerow1,
(short) 7));
sheet.addMergedRegion(new Region(titlerow1, (short) 8, titlerow2,
(short) 8));// 合并行
// 设置每列的宽度
int k = 0;
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
//放入信息,一般为list,这里用模拟信息
String message[]={"1","清华","北京","计算机","1","snow","女","562771681","有"};
List list=new ArrayList();
list.add(message);
titlerow2++;
for (int i = 0; i < list.size(); i++) {
String mess[]=(String [])list.get(i);
row=sheet.createRow((short)(titlerow2+i));
int kk =0;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[0]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[1]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[2]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[3]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[4]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[5]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[6]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[7]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[8]));
}
try {
FileOutputStream outputStream;
/** 输出信息,导出excel
*
* response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-Type", "application/octet-stream");
* OutputStream out = response.getOutputStream();
wb.write(out);
out.close();
*/
try {
outputStream = new FileOutputStream("e://abc.xls");
bookWorkbook.write(outputStream);
outputStream.flush();
outputStream.close();
} catch (FileNotFoundException e) {
System.err.println("获取不到位置");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} finally {
}
}
}
分享到:
相关推荐
在链接的博客文章中,作者可能详细讲解了如何使用C#和NPOI库创建Excel文件并导出数据的步骤,包括创建工作簿、工作表,插入数据,设置样式等,并给出了具体代码示例。通过阅读这个博客,你可以获取到更具体的操作...
无论是使用NPOI还是EPPlus,创建Excel文件的过程都涉及到创建工作簿、工作表,然后写入数据,最后保存文件。这些库不仅支持基本的数据写入,还支持格式设置、公式计算等复杂功能,使得在VB.NET中无需安装Excel也能...
- **创建Workbook对象**:这是Excel文件的容器,可以使用`XSSFWorkbook`(针对.xlsx)或`HSSFWorkbook`(针对.xls)创建。 - **创建Sheet对象**:表示Excel工作表,可以通过调用Workbook的`createSheet()`方法创建。...
4. **导出ListView到Excel**: 导出过程需要创建一个新的Excel文件并写入ListView中的数据。首先,创建一个`XSSFWorkbook`对象,然后创建一个` XSSFSheet`。为每一列创建一个`XSSFRow`,并在每个行中添加`XSSFCell`。...
本教程将详细讲解如何在Unity3D环境中动态创建Excel文件并写入数据。 首先,我们需要一个库来帮助我们在Unity中处理Excel文件。一种常用的选择是NPOI,这是一个.NET平台下的开源库,支持读写Microsoft Office格式的...
创建Excel文件的基本步骤如下: ```csharp using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; // 创建HSSFWorkbook实例 HSSFWorkbook workbook = new HSSFWorkbook(); // ...
2. **创建Excel工作簿**:使用Apache POI,创建一个`XSSFWorkbook`实例(对于.xlsx格式)或`HSSFWorkbook`实例(对于.xls格式)。 3. **添加工作表**:向工作簿中添加一个新的工作表,可以命名为“员工信息”或者...
总结来说,导入导出Excel是数据处理的重要环节,涉及到对Excel文件的操作,包括读取、写入和格式设置。选择合适的库,创建有效的模板,以及使用预先封装好的工具类,都能帮助我们高效地完成这项任务。在实际项目中,...
要使用 Java POI 实现 Excel 导出,需要首先创建一个 HSSFWorkbook 或 XSSFWorkbook 对象,然后使用该对象创建一个工作表。下面是一个简单的示例: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; ...
// 导出数据 exportDataToExcel(excelFilePath, dataList); // 图片路径 String imagePath = "image.jpg"; // 插入图片 insertImageToExcel(excelFilePath, imagePath, 1, 1, 10, 10); } } ``` #### 五、...
在Java世界里,它也被广泛用于生成静态文档或处理数据导出任务,比如Excel文件的生成。本篇文章将详细探讨如何使用Freemarker来实现Excel导出功能,并通过实际例子加深理解。 一、Freemarker基础 1. 模板语言:...
Java 实现 Excel 导入导出是指使用 Java 语言编写程序来实现将 Excel 文件中的数据导入到 Java 程序中,并将 Java 程序中的数据导出到 Excel 文件中。这种操作可以使用 Apache POI 库来实现。 POI 库简介 Apache ...
本文将详细介绍如何使用Apache POI库根据Excel模板文件导出数据。Apache POI是一个流行的Java库,它允许开发人员创建、修改和显示Microsoft Office格式的文件,包括Excel。在本示例中,我们将关注如何利用POI库处理...
总之,这个项目是一个完整的Java解决方案,用于处理Excel文件的导入导出,同时具备用户友好的进度条显示。它利用了Apache POI的强大功能,结合maven的依赖管理,以及可能的GUI组件,提供了高效且直观的数据操作体验...
1. **创建Workbook对象**:在NPOI中,Excel文件被抽象为Workbook对象,你可以通过HSSFWorkbook或XSSFWorkbook类实例化它。例如,如果你正在处理一个BIFF8格式的文件,你可以这样创建: ```csharp var workbook = ...
总结来说,"Excel导出实现代码"涉及到的关键知识点是使用Apache POI库在Java中创建和写入Excel文件。通过理解并熟练运用上述步骤和API,开发者可以轻松地在应用程序中实现Excel数据的动态生成和导出。
在C#中使用NPOI导入Excel数据时,首先需要创建一个`HSSFWorkbook`或`XSSFWorkbook`对象,具体取决于Excel文件的格式。然后,通过`ISheet`对象访问工作表,并使用`IRow`和`ICell`接口来读取单元格的值。例如,可以...
在.NET开发环境中,处理Excel文件是一项常见的任务,无论是数据导入还是导出,都有很多方法可以实现。本篇文章将深入探讨如何使用NPOI这个开源库来处理Excel文件,并结合DataTable进行数据交换。 NPOI是一个.NET...
以下是一个简单的使用EPPlus导出数据到Excel的示例: ```csharp using OfficeOpenXml; // 假设你已经有了一个DataTable或List<List<string>>的数据源 var data = GetData(); using (var package = new ExcelPackage...