Подтвердить что ты не робот

Создать файл Excel в Java

Я хочу создать файл Excel и записать данные так же, как писать текстовый файл с Java. Я попытался изменить расширение файла с .txt на .xls. Но я хочу выделение жирным шрифтом в файле Excel. Как я могу это сделать?

Я пробовал использовать JXL API, но каждый раз, когда мне нужно создать ярлык, я хочу добавить метку. Не удается изменить строку и столбец таблицы?

4b9b3361

Ответ 1

//Find jar from here "http://poi.apache.org/download.html"
import  java.io.*;
import  org.apache.poi.hssf.usermodel.HSSFSheet;
import  org.apache.poi.hssf.usermodel.HSSFWorkbook;
import  org.apache.poi.hssf.usermodel.HSSFRow;
import  org.apache.poi.hssf.usermodel.HSSFCell;

public class CreateExlFile{
    public static void main(String[]args) {
        try {
            String filename = "C:/NewExcelFile.xls" ;
            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet sheet = workbook.createSheet("FirstSheet");  

            HSSFRow rowhead = sheet.createRow((short)0);
            rowhead.createCell(0).setCellValue("No.");
            rowhead.createCell(1).setCellValue("Name");
            rowhead.createCell(2).setCellValue("Address");
            rowhead.createCell(3).setCellValue("Email");

            HSSFRow row = sheet.createRow((short)1);
            row.createCell(0).setCellValue("1");
            row.createCell(1).setCellValue("Sankumarsingh");
            row.createCell(2).setCellValue("India");
            row.createCell(3).setCellValue("[email protected]");

            FileOutputStream fileOut = new FileOutputStream(filename);
            workbook.write(fileOut);
            fileOut.close();
            System.out.println("Your excel file has been generated!");

        } catch ( Exception ex ) {
            System.out.println(ex);
        }
    }
}

Ответ 2

Вы можете использовать Apache POI для создания собственных двоичных файлов xls.

Или вы можете использовать JExcelApi, что является другим, и, насколько я помню, немного легким, библиотекой Java для Excel.

Ответ 3

Справедливое предупреждение об генерации Excel Apache POI... (Я знаю, что это старый пост, но это важно, если кто-то снова посмотрит это, как я это сделал)

У него была проблема с утечкой памяти, которая, предположительно, была решена к 2006 году, но которую люди совсем недавно испытывали. Если вы хотите автоматизировать генерацию большого количества excel (то есть, если вы хотите создать одиночный, большой файл, большое количество небольших файлов или и то, и другое), я бы рекомендовал использовать другой API. Либо это, либо увеличивая размер стека JVM до абсурдных пропорций, и, возможно, заглядывая в интернированные строки, если вы знаете, что на самом деле вы не будете работать со многими разными строками (хотя, конечно, интернирование строк означает, что если у вас есть большое количество разные строки, у вас будет совсем другая проблема с программной ошибкой памяти. Поэтому подумайте, прежде чем идти по этому маршруту).

Ответ 4

Изменение расширения файла никоим образом не изменяет его содержимое. Расширение - это всего лишь метка.

Если вы хотите работать с электронными таблицами Excel с помощью Java, прочитайте в библиотеку Apache POI.

Ответ 5

Плоские файлы не позволяют предоставлять метаинформацию.

Я бы предложил написать таблицу HTML, содержащую нужную вам информацию, и позволить Excel читать ее. Затем вы можете использовать <b> чтобы делать то, о чем вы просите.

Ответ 6

File fileName = new File(".....\\Fund.xlsx");

public static void createWorkbook(File fileName) throws IOException {
    try {
        FileOutputStream fos = new FileOutputStream(fileName);
        XSSFWorkbook  workbook = new XSSFWorkbook();            

        XSSFSheet sheet = workbook.createSheet("fund");  

        Row row = sheet.createRow(0);   
        Cell cell0 = row.createCell(0);
        cell0.setCellValue("Nav Value");

        Cell cell1 = row.createCell(1);

        cell1.setCellValue("Amount Change");       

        Cell cell2 = row.createCell(2);
        cell2.setCellValue("Percent Change");

        workbook.write(fos);
        fos.flush();
        fos.close();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

Ответ 7

Я создал API для более простого создания файла Excel.

Создать Excel - Создание Excel из шаблона

Просто установите необходимые значения после создания экземпляра, затем вызовите execute(), он будет создан на основе желаемого выходного каталога.

Но прежде чем использовать это, у вас должен быть шаблон Excel, который будет использоваться в качестве шаблона только что созданного файла Excel.

Кроме того, вам нужно Apache POI в вашем пути к классу проекта.

Ответ 8

Я также использовал JXLS: он получает данные как карту и шаблон EXCEL с правильным синтаксисом и правильно возвращает файл населен. Данные в каждой ячейке должны быть JavaBean с видимостью public.

Не стоит полагать, что вы должны вставлять данные более чем на 1 лист: в этом случае я использовал POI.

Ответ 9

Чтобы создать электронную таблицу и форматировать ячейку, используя POI, см. Работа со шрифтами и используйте:

font.setBoldweight(Font.BOLDWEIGHT_BOLD);

POI работает очень хорошо. Есть некоторые вещи, которые вы не можете сделать (например, создавать макросы VBA), но он будет читать/писать электронные таблицы с помощью макросов, поэтому вы можете создать подходящую таблицу шаблонов, прочитать ее и обработать с помощью POI, а затем записать ее.