⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 blog.csdn.net/xc2011/article/details/128246980 「xc2011」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

大家好最近 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 会替代程序员吗?

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

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

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

文章目录