【根据模板导出多sheet表格数据】

文章目录

    • 1. 根据模板导出多sheet表格数据
      • 1. 先上代码
      • 2. 模板展示
      • 3. 数据构造
        • 1.实体类创建
        • 2. sql数据构造(主要是需要把结果集别名映射到对应的实体类上)
    • 2. 无模板多sheet导出
      • 1. code部分
    • 3. 效果演示
    • image-20220930172145001
    • 结言


本文章主要是记录自己的一些心得和之前写过的一些功能,无意进行技术辩论,大神们留下足迹就好。

1. 根据模板导出多sheet表格数据

1. 先上代码

 @ApiOperation(value = "导出多个sheet数据接口")@GetMapping("/exportMulData")public void exportMulData(OaPurchaseContract oaPurchaseContract, HttpServletResponse response) throws Exception {//这里是你需要往里面添加数据的模板路径,放在templates下面即可try {//excel模板(其实这里使用缓冲流getResource或者getResourceAsStream()就行)String template = createNewFileByTemplate("/template/合同备案数据导出模板.xlsx");File file = ResourceUtils.getFile(template);try (FileInputStream fileInputStream = new FileInputStream(file); ByteArrayOutputStream bos = new ByteArrayOutputStream()) {//填充到sheet的数据List list1 = new ArrayList<Object>();List list22 = new ArrayList<Object>();// 获取需要导出的数据List<OaPurchaseContractVO> list = oaPurchaseContractService.selectContractFilingExportInfo(oaPurchaseContract);if(CollectionUtils.isNotEmpty(list)){// 格式化日期list= list.stream().map(oaPurchaseContractVO-> {// 这里需要对导出的日期进行转换 不然会出现格式错误oaPurchaseContractVO.setWriteDate(this.formatDate(oaPurchaseContractVO.getWriteDate()));oaPurchaseContractVO.setStartDate(this.formatDate(oaPurchaseContractVO.getStartDate()));oaPurchaseContractVO.setEndDate(this.formatDate(oaPurchaseContractVO.getEndDate()));return oaPurchaseContractVO;}).collect(Collectors.toList());}List<Map<String, Object>> maps = BeanUtil.objectList2ListMap(list);list1 = maps;// 合同结算数据List<OaPurchaseContractVOTwo> list2 = oaPurchaseContractService.selectContractEndCountExportInfo(oaPurchaseContract);List<Map<String, Object>> maps2 = BeanUtil.objectList2ListMap(list2);list22 = maps2;//原模板只有一个sheet,通过poi复制出需要的sheet个数的模板XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);for (int i = 0; i < 1; i++) {//复制模板,得到第i个sheetworkbook.cloneSheet(0, "合同备案数据(必填)");workbook.cloneSheet(1, "合同结算数据(必填)");}// 最关键的操作就是这个 (将前面的sheet模板数据移除)workbook.removeSheetAt(0);workbook.removeSheetAt(0);//写到流里workbook.write(bos);byte[] bArray = bos.toByteArray();InputStream is = new ByteArrayInputStream(bArray);//输出文件路径String fileName = "采购合同" + System.currentTimeMillis() + ".xlsx";response.reset();// 设置文件对应后缀的ContentTyperesponse.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");// 返回的是流的形式response.setContentType("application/octet-stream; charset=utf-8");response.setHeader("Location", fileName);response.setHeader("Cache-Control", "max-age=0");// 这句的作用是会打开用户那边下载文件时的那个保存位置的框,如果文件名中有中文,建议编下码response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF8"));ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(is).build();for (int i = 0; i < 1; i++) {WriteSheet writeSheet = EasyExcel.writerSheet("合同备案数据(必填)").build();excelWriter.fill(list1, writeSheet);WriteSheet writeSheet1 = EasyExcel.writerSheet("合同结算数据(必填)").build();excelWriter.fill(list22, writeSheet1);}// 关闭流excelWriter.finish();} catch (IOException e) {e.printStackTrace();}} catch (Exception e) {e.printStackTrace();}}/*** 格式化日期得方法* @param writeDate* @return*/private String formatDate(String writeDate) {return writeDate.replace("-","");}private String createNewFileByTemplate(String templateFilePath){// String templateFilePath = "/template/基金Call款通知书.docx";String originalFileName = IdGen.uuid() + "." + "xlsx";String originalFilePath = RuoYiConfig.getProfile() + File.separator + "temp";String fullFilePath = originalFilePath + File.separator + originalFileName;try(InputStream inputStream = this.getClass().getResourceAsStream(templateFilePath)){FileUtil.writeFromStream(inputStream, fullFilePath);}catch (IOException ioe){LogUtils.error("生成模板文件时异常!", ioe);}return fullFilePath;}

2. 模板展示

在这里插入图片描述


3. 数据构造

1.实体类创建

@ExcelProperty注解必须要加上,不然无法读取出来

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class OaPurchaseContractVO implements Serializable {@ExcelProperty("合同号")private String contractNumber;@ExcelProperty("备案公司")private String companyName;@ExcelProperty("签订部门代码")private String departmentCode;@ExcelProperty("签订部门名称")private String deptName;@ExcelProperty("签约客商代码")private String custerCode;@ExcelProperty("签约客商名称")private String custerName;@ExcelProperty("签订人工号")private String contractKey;@ExcelProperty("签订人名称")private String writerName;@ExcelProperty("合同起草人工号")private String startorKey;@ExcelProperty("合同起草人名称")private String startContractName;@ExcelProperty("合同末级审核人工号")private String endorKey;@ExcelProperty("合同末级审核人姓名")private String endReviewKey;@ExcelProperty("合同名称")private String contractName;@ExcelProperty("合同标的")private String contractBd;@ExcelProperty("合同大类")private String bigClass;@ExcelProperty("合同小类")private String smallClass;@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")@ExcelProperty(value = "合同签订日期")private String writeDate;@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")@ExcelProperty(value ="合同生效日期")private String startDate;@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")@ExcelProperty(value ="合同到期日")private String endDate;@ExcelProperty("是否多次结算")private String moreJs;@ExcelProperty("是否标准格式文本")private String sfBzText;@ExcelProperty("是否经过法审")private String wheatherFs;@ExcelProperty("是否阳光采购")private String sfYgCg;@ExcelProperty("未阳光采购理由")private String noYgCg;@ExcelProperty("未阳光采购其他理由")private String other;@ExcelProperty("是否招投标")private String sfZtb;@ExcelProperty("是否集团外贸易")private String sfJtw;@ExcelProperty("签约客商代码(多方)")private String one;@ExcelProperty("签约客商名称")private String oneName;@ExcelProperty("签约客商代码(多方)")private String two;@ExcelProperty("签约客商名称")private String twoName;@ExcelProperty("签约客商代码(多方)")private String three;@ExcelProperty("签约客商名称")private String threeName;@ExcelProperty("签约客商代码(多方)")private String four;@ExcelProperty("签约客商名称")private String fourName;@ExcelProperty("签约客商代码(多方)")private String five;@ExcelProperty("签约客商名称")private String fiveName;@ExcelProperty("签约客商代码(多方)")private String six;@ExcelProperty("签约客商名称")private String sixName;}

2. sql数据构造(主要是需要把结果集别名映射到对应的实体类上)

selecta.contract_number as 'contractNumber',(CASE a.investor_typeWHEN 'fund' THEN''WHEN 'manager' THEN(SELECT z_code FROM gp_base WHERE id=a.investor_id AND del_flag=0)ELSE''END) as 'companyName',a.purchase_department_code as 'departmentCode',d.dept_name as 'deptName',a.custer_code as 'custerCode',a.custer_name as 'custerName',(SELECT ss.user_key FROM sys_user ss WHERE ss.id=a.contract_input_person) as 'contractKey',u.nick_name as 'writerName',(SELECT ss.user_key FROM sys_user ss WHERE ss.id=a.contract_input_person) as 'startorKey',u.nick_name as 'startContractName',(SELECT ss.user_key FROM sys_user ss WHERE ss.id=a.contrat_end_reviewer) as 'endorKey',s.nick_name as 'endReviewKey',a.contract_name as 'contractName',a.purchase_content as 'contractBd',t2.dict_label as 'bigClass',t3.dict_label as 'smallClass',date_format(a.contract_sign_date,'%Y-%m-%d') as 'writeDate',date_format(a.contract_using_date,'%Y-%m-%d') as 'startDate',date_format(a.contract_deadline,'%Y-%m-%d') as 'endDate',(CASE a.multiple_settlementWHEN 'Y' THEN'是'WHEN 'N' THEN'否'ELSE''END)as 'moreJs',(CASE a.standard_not_textWHEN 'Y' THEN'是'WHEN 'N' THEN'否'ELSE''END)as 'sfBzText','是' as 'wheatherFs',(CASE a.whether_sunshine_purchaseWHEN 'Y' THEN'是'WHEN 'N' THEN'否'ELSE''END)as 'sfYgCg',a.not_purchase_reason as 'noYgCg',a.not_purchase_other_reason as 'other',(CASE a.whether_biddingWHEN 'Y' THEN'是'WHEN 'N' THEN'否'ELSE''END)as 'sfZtb',(CASE a.whether_trade_outsiteWHEN 'Y' THEN'是'WHEN 'N' THEN'否'ELSE''END)as 'sfJtw',(select custer_code FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 0,1)AS 'one',(select custer_name FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 0,1)AS 'oneName',(select custer_code FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 1,1)AS 'two',(select custer_name FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 1,1)AS 'twoName',(select custer_code FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 2,1)AS 'three',(select custer_name FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 2,1)AS 'threeName',(select custer_code FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 3,1)AS 'four',(select custer_name FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 3,1)AS 'fourName',(select custer_code FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 4,1)AS 'five',(select custer_name FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 4,1)AS 'fiveName',(select custer_code FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 5,1)AS 'six',(select custer_name FROM oa_purchase_contract_son WHERE purchase_contract_id=a.id and del_flag=0 limit 5,1)AS 'sixName'from oa_purchase_contract aLEFT JOIN custer_manage c on c.custer_code = a.custer_code and c.del_flag='0'LEFT JOIN sys_user u on u.id = a.contract_input_personLEFT JOIN sys_user s on s.id = a.contrat_end_reviewerleft join sys_dept d on a.purchase_department = d.idleft join sys_dict_data t1 on a.act_status = t1.dict_value and t1.dict_type = 'work_flow_status'left join sys_dict_data t2 on a.contract_big_class = t2.dict_value and t2.dict_type = 'contract_big_type'left join sys_dict_data t3 on a.contract_small_class = t3.dict_value and t3.dict_type = concat('contract_big_type_',a.contract_big_class)<where>a.del_flag = '0'<if test="id != null  and id != ''"> and a.id = #{id}</if><if test="contractNumber != null  and contractNumber != ''"> and a.contractNumber like concat('%',#{contractNumber},'%')</if><if test="contractName != null  and contractName != ''"> and a.contract_name like concat('%',#{contractName},'%') </if><if test="contractSmallClass != null  and contractSmallClass != ''"> and a.contract_small_class like concat('%',#{contractSmallClass},'%')</if><if test="custerCode != null  and custerCode != ''"> and a.custer_code = #{custerCode}</if><if test="investorType != null and investorType != ''">and a.investor_type =#{investorType}</if><if test="contractYear != null  and contractYear != ''"> and LEFT(RIGHT(a.contract_number,5),2)=#{contractYear} </if><if test="investorId != null and investorId != ''">and a.investor_id =#{investorId}</if><if test="busId != null  and busId != ''"><choose><when test='_parameter.busId == "HT_GL"'>and a.bus_id is null OR a.act_status='W'</when><otherwise>and a.bus_id = #{busId}</otherwise></choose></if></where>order by a.update_time desc

上面主要是针对有模板的情况下进行多sheet导出

下面介绍无模块,手动构造模块进行多sheet导出(适合字段少的)


2. 无模板多sheet导出

1. code部分

// 方式一(自定义导出,无模板,字段多不建议)@ApiOperation(value="导出多个sheet数据接口")@GetMapping("/exportMulData")public void exportMulData(OaPurchaseContract oaPurchaseContract,HttpServletResponse response) throws Exception {oaPurchaseContractService.exportMulData(oaPurchaseContract,response);}
public void exportMulData(OaPurchaseContract oaPurchaseContract, HttpServletResponse response) throws Exception {String tableName = "合同备案";// 获取需要导出的数据List<OaPurchaseContractVO> list = oaPurchaseContractDao.selectContractFilingExportInfo(oaPurchaseContract);List<Map<String, Object>> maps = BeanUtil.objectList2ListMap(list);List<Map<String, Object>> dataList = maps;// 合同结算数据List<OaPurchaseContractVOTwo> list2 = oaPurchaseContractDao.selectContractEndCountExportInfo(oaPurchaseContract);List<Map<String, Object>> maps2 = BeanUtil.objectList2ListMap(list2);List<Map<String, Object>> dataList2 = maps2;List<String[]> titleList = new ArrayList<>();List<List<List<String>>> contentList = new ArrayList<>();// 需要展示的列List<String> fieldList1 = Lists.newArrayList("contractNumber", "companyName", "departmentCode", "deptName", "custerCode", "custerName","contractKey", "writerName", "startorKey", "startContractName", "endorKey", "endReviewKey", "contractName", "contractBd","bigClass", "smallClass", "writeDate", "startDate", "endDate", "moreJs","sfBzText", "wheatherFs", "sfYgCg", "noYgCg", "other", "sfZtb", "sfJtw","one", "oneName", "two", "twoName", "three", "threeName","four", "fourName","five", "fiveName", "six", "sixName");List<String> fieldList2 = Lists.newArrayList("contractNumber", "weatherPay", "isTmpMoney", "custerType", "custerCode", "custerName","bz", "sfHs", "contractAllMoney", "preMoney", "endMoney", "suiRail", "ydzBl", "jsgys","jsgysAmount", "jsYhName", "fkType", "isHasMoney", "hasPost", "hasSomePost","allPost", "allPostEnd", "allPostEndSome", "allEnd", "remark");// 匹配数据List<List<String>> results1 = matchFieldData(dataList, fieldList1);List<List<String>> results2 = matchFieldData(dataList2, fieldList2);contentList.add(results1);contentList.add(results2);// 设置表题String[] title1 = {"合同号*", "备案公司*", "签订部门代码*", "签订部门名称", "签约客商代码*", "签约客商名称","签订人工号*", "签订人名称*", "合同起草人工号*", "合同起草人名称*", "合同末级审核人工号*","合同末级审核人姓名", "合同名称*", "合同标的*", "合同大类*", "合同小类*", "合同签订日期(yyyyMMdd)*","合同生效日期(yyyyMMdd)*", "合同到期日(yyyyMMdd)*", "是否多次结算(Y-是,N-否)", "是否标准格式文本(Y-是,N-否)", "是否经过法审(Y-是,N-否)", "是否阳光采购(Y-是,N-否)","未阳光采购理由", "未阳光采购其他理由(未阳光采购理由=QT时必填)", "是否招投标(Y-是,N-否)", "是否集团外贸易(Y-是,N-否)", "签约客商代码(多方)*", "签约客商名称","签约客商代码(多方)", "签约客商名称", "签约客商代码(多方)", "签约客商名称", "签约客商代码(多方)", "签约客商名称","签约客商代码(多方)", "签约客商名称", "签约客商代码(多方)", "签约客商名称"};String[] title2 = {"合同号*", "是否转付款", "是否暂估合同金额", "结算供应商类型(K-供应商/L-临时客商/Y-员工)*", "结算供应商代码*", "结算供应商名称", "币种*", "是否含税*", "合同总金额*", "预付款金额","尾款金额", "税率(%)", "溢短装比例(%)", "结算供应商税号", "结算供应商账号", "结算供应商银行名称", "付款方式", "是否已有执行金额(Y-是,N-否)", "已报支金额(含税)","已报支金额(不含税)", "已报支预付款金额", "已核销预付款金额", "已预留尾款金额", "已核销尾款金额", "备注"};titleList.add(title1);titleList.add(title2);try {ExcelExportUtil.exportExcel(tableName, titleList, contentList, response, "oaPurchase");} catch (Exception e) {e.printStackTrace();}}private List<List<String>> matchFieldData(List<Map<String, Object>> dataList, List<String> fieldList) {return ListUtils.emptyIfNull(dataList).stream().filter(Objects::nonNull).map(e -> ListUtils.emptyIfNull(fieldList).stream().map(f -> this.getString(e, f)).collect(Collectors.toList())).collect(Collectors.toList());}public static <K> String getString(final Map<? super K, ?> map, final K key) {if (map != null) {final Object answer = map.get(key);return answer != null ? answer.toString() : "";}return null;}public List<OaPurchaseContractVO> getFillData(OaPurchaseContract oaPurchaseContract) {List<OaPurchaseContractVO> fillDataList = new ArrayList<>();List<OaPurchaseContractVO> list = oaPurchaseContractDao.selectContractFilingExportInfo(oaPurchaseContract);for (int i = 0; i < list.size(); i++) {// 构建数据,这里是每个字段赋值然后放到一个集合里,OaPurchaseContractVO fillData = OaPurchaseContractVO.builder().contractNumber(list.get(i).getContractNumber()).companyName(list.get(i).getCompanyName()).departmentCode(list.get(i).getDepartmentCode()).deptName(list.get(i).getDeptName()).custerCode(list.get(i).getCusterCode()).custerName(list.get(i).getCusterName()).contractKey(list.get(i).getContractKey()).writerName(list.get(i).getWriterName()).startorKey(list.get(i).getStartorKey()).startContractName(list.get(i).getStartContractName()).endorKey(list.get(i).getEndorKey()).endReviewKey(list.get(i).getEndReviewKey()).contractName(list.get(i).getContractName()).contractBd(list.get(i).getContractBd()).bigClass(list.get(i).getBigClass()).smallClass(list.get(i).getSmallClass()).writeDate(list.get(i).getWriteDate()).startDate(list.get(i).getStartDate()).endDate(list.get(i).getEndDate()).moreJs(list.get(i).getMoreJs()).sfBzText(list.get(i).getSfBzText()).wheatherFs(list.get(i).getWheatherFs()).sfYgCg(list.get(i).getSfYgCg()).noYgCg(list.get(i).getNoYgCg()).other(list.get(i).getOther()).sfZtb(list.get(i).getSfZtb()).sfJtw(list.get(i).getSfJtw()).one(list.get(i).getOne()).oneName(list.get(i).getOneName()).two(list.get(i).getTwo()).twoName(list.get(i).getTwoName()).three(list.get(i).getThree()).threeName(list.get(i).getThreeName()).four(list.get(i).getFour()).fourName(list.get(i).getFourName()).five(list.get(i).getFive()).fiveName(list.get(i).getFiveName()).six(list.get(i).getSix()).sixName(list.get(i).getSix()).build();fillDataList.add(fillData);}return fillDataList;}public List<OaPurchaseContractVO> selectContractFilingExportInfo(OaPurchaseContract oaPurchaseContract) {return oaPurchaseContractDao.selectContractFilingExportInfo(oaPurchaseContract);}public List<OaPurchaseContractVOTwo> selectContractEndCountExportInfo(OaPurchaseContract oaPurchaseContract) {return oaPurchaseContractDao.selectContractEndCountExportInfo(oaPurchaseContract);}

3. 效果演示

image-20220930172112592

image-20220930172145001

结言

导出的案例很多,但是当自己在用的时候还是自己熟悉的代码比较舒服。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7588.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何将excel表格数据导入postgresql数据库

作者&#xff1a;瀚高PG实验室 &#xff08;Highgo PG Lab&#xff09;- 禹晓 实际的工作中&#xff0c;我们经常会碰到统计数据的工作&#xff0c;有些维度的统计数据因为工作需要我们需要导出为excel作为报表附件供不同的部门审查。为了方便以后的对比工作&#xff0c;领导会…

table表格直接导出Excel文件

注&#xff1a;如遇到复杂表格时可用此方法做前端导出 导出事件 handleDown() {var html "<html><head><meta charsetutf-8 /></head><body>" document.getElementsByTagName("table")[0].outerHTML "</body&g…

将ChatGPT整合到Word中

引言 自ChatGPT出现&#xff0c;各种基于它的软件扩展纷至沓来&#xff0c;目前Word支持ChatGPT的add-in有两款&#xff0c;可以通过: 插入->获取加载项->搜索openai查看。 其中Ghostwriter从介绍上看功能比较单一&#xff0c;而且软件需要购买&#xff0c;用自己的API-k…

用上ChatGPT的这几个功能,你的开发效率不高都难

ChatGPT去年12月份开始火得不行了&#xff0c;它彻底改变了程序员开发代码的方式。怎么来提高程序员开发程序的效率呢&#xff1f;可能现在大多数软件开发人员仍然没有习惯使用 ChatGPT&#xff0c;本文将介绍几种方式来提升和简化自己的工作。 一、重构你的代码 如果你是一个开…

Intellij:自然语言到代码自动生成 by ChatGPT

背景 Intellij是一个非常流行的开发工具&#xff0c;它被广泛用于软件开发。随着OpenAI训练的ChatGPT模型越来越智能&#xff0c;我们开发了一个名为EDQL的Intellij插件。这个插件可以将ChatGPT的智能写代码能力转化为代码。 安装和尝试: https://github.com/chengpohi/edql/re…

chatgpt到底颠覆了什么 第二部分

以第二个理由就是两个字&#xff0c;垄断。 现在谈到范式转变&#xff0c;如果首先谈的还是算法&#xff0c;那说明还没有透彻理解范式改变范式改变&#xff0c;首先要改的是什么。是什么&#xff1f;是参赛资格。 过去我相信大企业大团队聚拢了许多聪明的脑袋&#xff0c;但我…

chatgpt 到底颠覆了什么 第一部分

ChatGPT一出来&#xff0c;一堆搞NLP的立马哭了。为什么&#xff1f;不该问为什么哭&#xff0c;而该问为什么还不哭。 有两个立马大哭的理由。 第一个理由很多人说了&#xff0c;范式改变。 虽然说没有哪个研究领域&#xff0c;甚至没有哪个领域敢说自己真的是天道酬勤绝对公平…

文心一言---中国版的“ChatGPT”狂飙的机会或许要出现了

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的在读研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三…

果然,ChatGPT 技术还是被拿去搞黄色了!

转自&#xff1a;顶级程序员 此前&#xff0c;推出的各类AI绘画工具。 想要制作出还能看得过去的作品&#xff0c;需要一定的美术功底和美感&#xff0c;上手门槛一点也不低。 大部分绅士顶多做个饱饱眼福的观众&#xff0c;完全没有参与感。 啪得一下很快啊&#xff0c;最近一…

ChatGPT 漩涡 :The ChatGPT Maelstrom

ChatGPT 漩涡 by Jean-Louis Gasse ChatGPT 以自 2007 年 iPhone 问世以来从未见过的方式迅速俘获了人们的想象力。今天,我们试探性地随机漫步其迅速扩张的景观。 在结束了法国和奥地利部分地区的旅行后,当我愉快地回到我的写作站时,我在我钟爱的科技世界中看到了太多诱人…

ChatGPT神奇应用:快速撰写大众点评好评

正文共 464 字&#xff0c;阅读大约需要 2 分钟 消费者必备技巧&#xff0c;您将在2分钟后获得以下超能力&#xff1a; 快速自动撰写大众点评评论 Beezy评级 &#xff1a;B级 *经过简单的寻找&#xff0c; 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●…

被ChatGPT带飞的AIGC,能为垂直产业做些什么?

2022年8月&#xff0c;游戏设计师杰森艾伦使用 Midjourney 平台创作了一幅名为《太空歌剧院》的画作&#xff0c;并获得了美国科罗拉多州博览会艺术类比赛一等奖&#xff0c;引起巨大轰动和舆论&#xff0c;彻底引爆 AIGC 的热潮。 ● 图片来源&#xff1a; AI 作画《太空歌剧院…

【chatGPT】

chatGPT&#xff08;Generative pretrained transformer &#xff09; ChatGPT是人工智能技术驱动的自然语言处理工具&#xff0c;它能够通过理解和学习人类的语言来进行对话&#xff0c;还能根据聊天的上下文进行互动&#xff0c;真正像人类一样来聊天交流&#xff0c;甚至能完…

「ChatGPT」一夜之间“火爆出圈“【杞人忧天 or 未雨绸缪】

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后…

InstructGPT原理讲解及ChatGPT类开源项目

InstructGPT原理讲解及ChatGPT类开源项目 Generative Pre-Trained Transformer&#xff08;GPT&#xff09; 是OpenAI的提出的生成式预训练语言模型&#xff0c;目前已经发布了GPT-1、GPT-2、GPT-3和GPT-4&#xff0c;未来也将发布GPT-5。 最近非常火的ChatGPT是基于Instruct…

数据开源 | Magic Data开源基于ChatGPT的可扩展的对话数据集

在过去的一月里&#xff0c;人工智能领域中最火的话题莫过"ChatGPT"。ChatGPT是OpenAI于11月30日发布最新作品聊天机器人&#xff0c;开放公众免费测试。聊天机器人是一种软件应用程序&#xff0c;根据用户的提问做出回应、模仿人类的对话方式。目前&#xff0c;Chat…

chatgpt赋能python:Python的玩法

Python的玩法 Python作为一种高级编程语言&#xff0c;在计算机编程领域非常流行。它是一种自由软件&#xff0c;可以在多种平台上运行。Python在数据科学、机器学习等土地居功无比&#xff0c;但它的应用除了这些重磅级领域&#xff0c;还有很多有趣的玩法。 编写游戏 Pyth…

教你轻松玩转-ChatGPT或生成类大模型--助你成为未来高端黄金职业人

文章目录 1、前言2、大模型--巴拉巴拉小魔仙3、巴拉巴拉小魔仙-指导方向3、二次元美女或科幻图-魔法4、Cosplay-魔法5、魔法师5.1、系统消息5.2、小样本学习5.3、非对话场景5.4、使用明确的指令5.5、最后重复一遍指令5.5、对输出的操作5.6、添加语法5.7、把任务分解5.8、思维链…

海外ChatGPT专题

作为AIGC领域顶尖的模型&#xff0c;ChatGPT有望对现有生产力工具进行变革&#xff0c;引领赛道发展。海外ChatGPT专题_up.pdf: https://url39.ctfile.com/f/2501739-805099789-098b62?p2096 (访问密码: 2096) 参考文献&#xff1a; [1]海外ChatGPT专题_up.pdf: https://url39…

浅谈 ChatGPT —— 现代巴别塔

theme: nico 一、用 ChatGPT 一搜就到你这了 ChatGPT 在去年 11 月发布以后&#xff0c;上线 5 天后就有了 100 万用户&#xff0c;上线两个月后已有上亿用户&#xff0c;可谓一炮而红。起初我对 ChatGPT 是没有什么感知的&#xff0c;我单纯认为人工智能还没有发展到完全超越人…