admin 管理员组

文章数量: 887021

大家好最近 ChatGPT非常出圈,于是我也出于好奇心试用了一下自动写代码,

先写一个简单程序吧

在写一个有点难度的吧

import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelExporter {
    public static void exportData(List<List<String>> data, String filePath) throws IOException {
        // 创建工作簿
        Workbook workbook = new XSSFWorkbook();
        
        // 创建工作表
        Sheet sheet = workbook.createSheet();
        
        // 遍历数据,并将其写入工作表
        for (int i = 0; i < data.size(); i++) {
            Row row = sheet.createRow(i);
            List<String> rowData = data.get(i);
            
            for (int j = 0; j < rowData.size(); j++) {
                row.createCell(j).setCellValue(rowData.get(j));
            }
        }
        
        // 将工作簿写入文件
        FileOutputStream out = new FileOutputStream(filePath);
        workbook.write(out);
        out.close();
        workbook.close();
    }
}

使用方法如下:

List<List<String>> data = new ArrayList<>();
data.add(Arrays.asList("a", "b", "c"));
data.add(Arrays.asList("1", "2", "3"));

ExcelExporter.exportData(data, "data.xlsx");

这段代码将会创建一个名为 "data.xlsx" 的 Excel 文件,并在其中写入两行三列的数据。

请注意,这只是一个示例,它不能保证在所有情况下都能正常工作。如果您需要帮助,请提供更多的信息,我会尽力帮助您。

 大家看很明显它没有完全按照我的需求给出答案,大数据量情况下XSSFWorkbook会内存溢出,于是我继续追问

import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

public class ExcelExporter {
    public static void exportData(List<List<String>> data, String filePath) throws IOException {
        // 创建工作簿
        Workbook workbook = new SXSSFWorkbook();
        
        // 创建工作表
        Sheet sheet = workbook.createSheet();
        
        // 遍历数据,并将其写入工作表
        for (int i = 0; i < data.size(); i++) {
            Row row = sheet.createRow(i);
            List<String> rowData = data.get(i);
            
            for (int j = 0; j < rowData.size(); j++) {
                row.createCell(j).setCellValue(rowData.get(j));
            }
        }
        
        // 将工作簿写入文件
        FileOutputStream out = new FileOutputStream(filePath);
        workbook.write(out);
        out.close();
        workbook.close();
    }
}

 

这样,导出的 Excel 文件就不会导致内存溢出了。

请注意,这只是一个示例,它不能保证在所有情况下都能正常工作。如果您需要帮助,请提供更多的信息,我会尽力帮助您。

        在交互过程中 对我提出的问题进行了改进使用了SXSSFWorkbook 这个类处理大数据量内存溢出问题,写到这是不是感觉charGPT还是比较强大的,比起以前的AI聊天这简直有质的飞跃 。

        问题来了:openai charGPT 会替代程序员吗?

        我认为不会。虽然语言模型可以帮助人们快速生成代码,但它不能完全取代程序员。语言模型只能生成预先定义的代码,而程序员还需要使用他们的专业知识和技能来解决复杂的问题。

        此外,语言模型无法理解代码的含义和目的,因此无法提供有效的建议和指导。程序员仍然是必不可少的,因为他们能够理解代码,并通过设计和编写代码来解决问题。

总之,语言模型可以为程序员提供帮助,但它不能取代程序员。

本文标签: 我也 程序 OpenAI ChatGpt