大家好最近 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 会替代程序员吗?
我认为不会。虽然语言模型可以帮助人们快速生成代码,但它不能完全取代程序员。语言模型只能生成预先定义的代码,而程序员还需要使用他们的专业知识和技能来解决复杂的问题。 此外,语言模型无法理解代码的含义和目的,因此无法提供有效的建议和指导。程序员仍然是必不可少的,因为他们能够理解代码,并通过设计和编写代码来解决问题。
总之,语言模型可以为程序员提供帮助,但它不能取代程序员。
版权归原作者 xc2011 所有, 如有侵权,请联系我们删除。