ChatGPT时代的得意忘言

ab013b9d276bdafa1704fca801720804.gif

6205edaf581237c2ecb09f2c6f81ecf9.png

David S. Soriano, CC BY-SA 4.0 via Wikimedia Commons

edc8b36bf6bfd346c9524cfc4875c1fc.png

导读:

      以ChatGPT为代表的新的人工智能语言模型,具有划时代的意义。一个值得思考的问题是,人工智能具备的测算能力,无法完全等同于人类的判断力。

      在《测算与判断:人工智能的终极未来》一书中,作者布莱恩·坎特韦尔·史密斯(Brian Cantwell Smith),以判断力作为终极智能目标的讨论框架,试图考察人工智能从萌芽至今的发展历程。

华为加拿大研究院的罗军博士,为这本书撰写了导读,他认为本书对智能的终极追问,是立足于具体丰富的世界的追问,而AI的终极未来,在于植根世间面对世界的奋进、谦卑和清醒,知道自己的一切注记都是需要努力的,同时也终究是不足的。

罗军|撰文

AI八卦(chat)嘈杂的年代,新闻与炒作天天刷屏,大厂为赢家通吃惴惴不安,创企为勇立潮头蠢蠢欲动,来自心灵深处的声音,还有人聆听吗?

本书的英文标题是“Reckoning and Judgement: The Promise of AI”。“Promise”一语双关,既是希望——愿景很宏大!——也是诺言——能够实现吗?译成“终极未来”很好,因为书的主旨就在于终极追问。这里的终极,不是奇点降临、通用智能涌现,不是终结者横空出世、荡平人类,也不是劳动者彻底解放、奔向星辰大海。这里追问的是:什么是终极意义上的AI?相对于终极AI,今天的AI又在哪里?AI发展又如何挑战和刷新人类对自身的认识与定位?有没有一个追问的方向,既能定位已有的AI发展,又能点出迄今的局限,指向终极未来?

先说答案:人类智慧也好,通用智能也好,必须担当起世界。

7cb989dd2d4b93c4634ae3f2e8a4b803.jpeg

1. 作者介绍

简单而神秘一句话,是AI实践者千锤百炼的体悟,AI思想家仰观俯察的清醒。作者布莱恩·坎特韦尔·史密斯(Brian Cantwell Smith),60年代中期开始玩计算机,属于给裸机手写操作系统的主,70年代MIT AI Lab鼎盛时期在那里攻读博士,开拓计算反思(computational reflection)领域,后来任职施乐公司PARC(Palo Alto Research Center),从事知识表征的基础研究,先后在斯坦福、印第安纳、杜克、多伦多等大学教授认知科学、计算哲学和信息哲学,目前担任多伦多大学“Reid Hoffman AI与人”讲席教授。

56c3dc016190c70f5837f2b6e19fa864.png

Brian Cantwell Smith

作者的关怀深度部分来自家传:其父是哈佛大学比较宗教学教授,学贯西东,其母是河南生长的传教士之女,讲中文比讲英文更早。他本人担任过美国哲学与心理学会主席。为了抵制星球大战计划中用计算机决策洲际导弹发射,于80年代参与创建CPSR(Computer Professionals for Social Responsibility)并担任首任主席。其学术生涯大致可以概括为:半辈子搞AI,一辈子操心AI的终极问题。

2. 一杯咖啡

笔者有幸多次阅读本书中英文版,考虑到大家都很忙碌,这里做个导读,指出“一杯咖啡吸收宇宙能量”的一种可能阅读方式。

2.1 结论与理由

先看中文版第182页的结论:

“系统为其所...思考的世界...担当。系统会为真理而努力,且拒绝虚假...系统不仅居于和属于这个世界,而且对其而言有一个...作为世界而存在的世界...系统深知,必须以尊崇、谦卑和同情来对待系统所在的世界、系统所推理的实体,以及全体人类和社群。”

为什么呢?请看第183页:

“世界是极其丰富的,用任何形式的符号都不能完全捕捉其丰富...。所有的注记...都不可避免地会出现扭曲、偏颇且具有趋利性...。通过发掘并超越注记的限制,真正的智能委身并指向唯一的世界。”

“注记”一词是作者的术语,动词是register,名词是registration,跟中文里的“看到了什么”、“想到了什么”、“感到了什么”、“说到了什么”等等的意思接近,是说感知、表征、判断等等活动完成(“到了”),这些活动所关注者以某种方式呈现(“什么”)。

2.2 具体而丰富的世界

那么,这个世界的“丰富”应该如何理解呢?请对比第40页的图3.4和第41页的图3.5:

9ec5c7f851721c8e1154e799ac5b9eb1.png

图3.4。图源:《测算与判断:人工智能的终极未来》

图3.4是休伦湖乔治亚湾“三万岛屿”区域一小部分的水陆二值图。图3.5则是该区域的航拍照片——其中地形的水下水上连续变化清晰可见。两图的差异表明:相对于水陆转换的实际细节,咱们的水陆二值抽象是多么粗略!

a6ab27e5da388127286cd1d502c11f1b.png

图3.5。图源:Paul Bennett Photography,《测算与判断:人工智能的终极未来》

细心的读者会问:图3.5也只是一张照片,难道不也很粗略吗?是的,图3.4和图3.5代表了两种注记方式。尽管图3.5呈现了更多的“丰富”,也终究逃不出其作为航拍照片的局限与偏颇。设想一下自己身临其境,在水陆相接处行走:阳光下湖水忽进忽退,刚才落脚的岩石上的泥足印,现在已经被冲刷干净了。一只正把树枝拖向码头下巢穴的水獭和一只正爬行于岸边沙滩上的蚂蚁,其“触及”这个“水陆边界”的方式是同样的细腻,又是如此的不同。没有哪种特殊的注记方式,能够捕获所有的丰富,支持一切的预测和判断。

2.3 面对具体而丰富的世界,如何思考AI

或许大家会觉得,相对于丰富的世界,所有的注记都失真,这是很显然的啊,所有搞过实际工程的人都应该很清楚啊。没错,很显然。但是,大家或许可以慢下来想想:这种显然的情况对于AI研究在整体上意味着什么?今天的AI理论和实践有没有系统而充分地梳理和应对这种貌似对大家都显然的情况?

作者提供的相关思路请见第47页的图3.6。

bdd95b35ea2f2a490ee68443f4976916.png

图3.6 图源:《测算与判断:人工智能的终极未来》

这个图区分了系统S、世界W和理论家T。这里的T也可以换成AI研究者或者AI工程师。一般谈论AI的时候,往往只谈S和W,不讨论T。然而,让T也进入视野非常关键。首先,S对W的注记(箭头S=>W)与T对W的注记(箭头T=>W)是不同的。为什么?由于世界的丰富性,这两种注记都只是注记了世界W的某些方面而非其全部整体,而且由于S和T可能非常不同,两者注记W的方式可能也非常不同,W对S和T呈现的形态也就可能非常不同。由于不能假设S=>W是自动与T=>W对齐的,区分这两者很重要。

其次,图3.6还识别了T的其他两种注记。一种是T对S的注记(箭头T=>S)。这个好理解,因为T负责系统S的建构,必须足够了解S。另外一种则是T对S对W的注记的注记,可以不太严谨地简写成:T=>(S=>W)。这第二种就进入所谓AI可解释性的领域了。就是说,S=>W需要以T能够理解的方式来注记,这样T才知道S在“想什么”,知道S是如何“感知到”W的。

这个框架也可以帮助我们理解第一波所谓“符号主义”的“老派AI”(Good Old-Fashioned AI,简称GOFAI)与第二波基于深度学习的AI(我们可以叫做“深度AI”)之间的区别。在“老派AI”的框架下,T大体上要求S=>W和T=>W是形式相同、内容相当的离散化符号表征。在“深度AI”的框架下,这样的要求就没有了:S的内部机制和结构以神经网权重和激活的方式出现,可解释性问题就相对凸显出来。然而,深度AI的优势正在于其大量的权重和激活(所谓“向量表征”)可以有细微而重要的变化,超越了老派AI的离散化符号的表达能力,从而更能贴近世界W的丰富性。深度AI的必要性源自世界W的丰富性,这是本书的一个基本结论(具体讨论见第5章和第6章)。这种必要性也就意味着S=>W对T的非透明性,即T=>(S=>W)所能达到的可解释性必然是有限的。

2.4 作为世界的一部分,人和AI也都是具体而丰富的

我们还可以从当前的图3.6适当拓展开来,注意到两点:

  1. 1. 首先,图中没有画出来的T=>T和S=>S也是可能的,就是说理论家T和AI系统S也可以分别注记自己。这就开始进入反思领域了。更进一步,T=>(T=>W)自然也是可能的,这是理论家T在注记自己对世界的注记,是以对W的注记为具体背景的自我反思。当这种反思跟前面讨论过的T=>(S=>W)相并立和比较时,我们就触及了人类理论家T如何看待和处理AI系统S与人类T的“价值对齐”(value alignment)。比如T可以要求S=>W的好坏标准符合T自己关于T=>W的好坏标准 。未来再进一步,还可能会有S=>(T=>W),就是AI系统S注记人类T对W的注记,或者说电脑要以自己的方式理解人心了。

  2. 2. 其次,T和S也都在世界中,也一样分有世界的丰富性。因此,T=>W和S=>W如何面对世界W的丰富性这一问题,在任何...=>T、...=>S的情形下都会有。就是说,T和S在箭头右边的出现只是...=>W的特例,因此它们的丰富性也很重要。而且,哪怕T和S是以某种方式出现在箭头左边,就是说T和S在参与和从事注记,如...=>(T=>…)、...=>(S=>…),它们也依然是世界的一部分。负责优化大语言模型的AI工程师必须关注S一侧的硬件能耗和内存访问开销就是...=>(S=>…)里S丰富性的例子,哪怕大语言模型作为单纯的神经网抽象并不明确涉及这些问题。同样,脑外科大夫也应该评估手术方案对某位人类病患作为AI理论家T的工作能力,即手术损伤对其参与...=>(T=>…)的能力的可能影响。

综合这两点可以看到:没有任何人、任何系统以及他们关注的世界中的任何情形和实体,包括人和系统自己,其注记或者被注记可以跳得出世界、可以与世界的丰富性完全隔离。

2.5 深度AI为什么不够?

如果我们整体性地考虑图3.6中所呈现的情形——包括考虑那些没有明确画出来的箭头以及T和S都是世界的一部分这一事实,我们就能更清楚地理解前面引用过的结论:“系统不仅居于和属于这个世界,而且对其而言有一个...作为世界而存在的世界...。系统深知,必须以尊崇、谦卑和同情来对待系统所在的世界、系统所推理的实体,以及全体人类和社群。”

这样,我们也能够看到当今的深度AI依然远远不够的原因:今天的深度AI系统S并不能支撑起图3.6所反映的框架整体。哪怕是以隐含而非概念化的方式,今天的S也不能把比如图中的一所小屋,注记为世界W整体中的一部分,注记为S自身与其构造者T共同栖居的世界的一部分。对于今天的深度AI系统而言,它不光没有世界,也无所谓有没有世界。

这里的挑战是来自世界本身的,不是任何简单的数据累积、知识工程、机器学习、996的辛劳或者007的牛皮能够克服的。哪怕是数据,相对于如此丰富的世界,也已经是抽象化和理想化之后的蹩脚近似。“数据”的拉丁文原词“datum”,意思是“给定的”。数据数据,数为依据。而世间任何实际情形要以数的形态给定,就已经是在一定的背景框架下——比如可计数的个体或者可度量的维度这样的抽象下——进行注记了,因而已经是多少失真的了。终极形态的智能,不是要抛弃数据的有用性和有效性,而是要明白再多的数据,其有用和有效都是有限度的,要明白如何不去单纯依赖任何特定的数据获取和处理框架,而是根据需要把各种不足的框架动态协调起来,从而担当起具体而丰富的世界。这些问题,当今的深度AI还没有真正开始追问,就更不要说充分解答了。

2.6 小结

由于这个我们与AI都置身其中的世界是如此具体而丰富,所有的感知认知推理决策都必须既要充分基于其丰富的具体,又不可能完全囊括其丰富的具体,去粗取精的抽象化和无中生有的理想化都是必须的,甚至带有功利性。AI也好,人也好,其智能相对于世界,一定是不足的。因此,终极形态的智能,必然不可能搞定一切,反而要能够认识、接受和应对其自身的不足。

所以,本书对智能的终极追问,是立足于具体丰富的世界的追问,而AI的终极未来,在于植根世间面对世界的奋进、谦卑和清醒,知道自己的一切注记都是需要努力的,同时也终究是不足的。或许我们可以说:终极的智能是大智若愚。所谓“不知为不知,是知(智)也。”

多年以前,笔者曾经跟某自动驾驶初创公司的一位联合创始人有过一次交流。这位摸爬滚打多年的老江湖说了一个词:“敬畏”。多年之后,自动驾驶依然是在以类似图3.4里的那种表征来做决策,试图去对付图3.5里的复杂性。敬畏,归根到底是对两幅图之间的差异所指向的丰富的世界的敬畏,是大智若愚的真诚。

3. 再来一杯咖啡

以上大致是一小时左右、一杯咖啡的读法。真正需要用来翻看插图和阅读章节的时间恐怕只是其中一小部分,大部分时间其实要拿来感受、思考和体会。如果读者没有尽兴,想要深入到书里的哲学、认知、计算和系统等方面更具体的考虑,包括理解AI的基本思路,理解老派的符号主义AI和新潮的深度AI的不同,理解AGI必须满足的“需求”等等,那就请再来一杯咖啡。

在有了第一杯咖啡的准备之后,接下来的一种依然简约的可能阅读方式是:

1. 先看第2章第13到17页的P1到P4和第21到22页的“表征特令”;

2. 再看第5章第62页边框里关于“老派人工智能与机器学习”的比较;

3. 接下来请认真看看第8章第103到119页关于“通用人工智能需要满足的七个要求”;

4. 最后进到第9章第139到142页的点题之处关于“测算”和“判断”的讨论。

这其中,P1到P4和表征特令是对智能系统的一般性要求,是人工智能跟物理学和基因工程等等的不同之处。从这些角度,比较容易理解无论老派还是新潮乃至未来的人工智能原则上的走向。可以看到,老派符号AI与新潮深度AI的比较其实并不超出P1到P4和表征特令。

而对通用人工智能的七个要求,其核心在于客体和客观性——智能的对象是世界中的客体,而非数据,也非对客体的注记,智能必须是面向世界的,必须把客体注记为世界之为世界的整体的一部分,才是真正有客体,智能体自己也因此才真正是主体。更细致的相关讨论,也可以参见作者的另一本书《客体起源》(On the Origin of Objects)。

进到“测算”和“判断”的点题。测算(reckoning,译作“运算”也许更贴切)是指“表征操纵和其他形式的...语义上可解释的行为,而执行这些行为的系统本身并不能在...完整的意义上去理解这些表征是关于什么的...并不能对所表征的内容负责。”(第139页)测算,包括搜索和优化等各种技术所涵盖的范围、输入到输出的变换等等,是可以有准确性、有对错的,但那是对于工程师或者用户而言,因为单纯的测算系统是没有世界,其自身无法把对错视为与世界的情形相关。相比之下,判断(judgement)则需要“能够理解对象是对象,且知道表征和现实之间的区别,对自己的存在和世界整体性有存在担当,且尊重对象,受对象约束,并服从对象。”(第139到140页)对判断的要求,就是对得起前面的图3.5所指向的那种现实,面向世界、担当世界。

人工智能走到今天,已经可以建造庞大的系统,比如ChatGPT或者已经初步能在大街上跑的无人驾驶汽车,但是当前的系统依然总体上是测算系统,尚且无法自身承担判断的责任。

因此,“如果一辆无人驾驶汽车犯了一个错误,那么容易受到伤害的是其相关数据结构所代表的人,一个完整且真实存在的人,其丰富性、价值和细节都难以言表,远远超过了汽车可以注记或构想的任何东西。如果我们要驾驶能够承担责任的汽车,我们希望汽车所承担的责任是保护自己和他人的生命安全,而不是执行各种机械步骤。如果设计者没有能力保证乘客和驾驶员的安全,那么这样的汽车就只是一堆测算工具。我们应该据此理解和部署它们。”(第142页)

4. 功夫阅读

两杯咖啡或许已经够了。想要最大的收获,自然需要真功夫。本书是哲学书,不是鸡汤文,也不是所谓战略思想的火花。或者说,如果要它要是火花的话,你得已经磨过了刀砍好了柴。深入到哲学里需要把阅读当修行,允许自己故有的观念在跟文本的摔打中被颠覆掉。

这里具体提醒两点。

第一是接受阅读中遇到的思想上的不懂、不适、异样乃至异端,磨的功夫才可能开始。当下的一种危险是以他人的商业成功和声名显赫取代自己的思考。在AI这样一个问题结构与其他学科和领域非常不同(本书第2章其实就是在阐述这种结构上的不同),而又商业利益巨大,社会影响极高的新兴领域,以他者影响力代替自主思考的危险尤其大。在“趋利”和“趋名”的注记方式下,一切似乎都很清晰很聚焦,而其实是放弃了思想上的砥砺琢磨。然而,今天的主流,曾是昨日的非主流,AI的未来在哪里?大概率不在大场面的聚光灯下,而更可能是在深山篝火的微光中。

第二是关于文字障碍。哲学文本的特点是文字本身是思想成果的凝练。阅读中的困难不必急于归咎于翻译质量。本书译文质量的问题当然存在,而且可以说不小。这些质量问题既来自于翻译、校对、编辑团体的能力局限,也有出名与出力的解耦、盈利与保质的矛盾对能力局限的进一步放大。然而,阅读佛经也不容易,阅读康德的中文版也不容易。很多阅读中的挑战,相信原文里也有。因为很大程度上是问题本身就有那么挑战,需要读者的功夫。至于目前这个中文版,可以算作基本能读,值得死磕,努力不会白费。

5. 意义

一本咖啡也好,两杯咖啡也好,下功夫死磕也好,本书追问的思想意义又在哪里呢?这或许可以从关于智能和关于世界这相反相成的两个方面来看。

今天的AI测算力超强,判断力趋零。因此,一种担忧就是咱们没有看清楚当今AI的这种局限,从而在思想上错误地认为认知也不过如此罢了,因此在实质上把判断交给了无判断力的AI。这样的后果可能就是把半蠢的人和半智的AI结成全蠢的组合,乃至全蠢而坏的组合。当年星球大战计划里认真考虑了把洲际核导弹发射的决策用计算机来做。貌似有个很有说服力的理由:相比计算机,人的决策太慢,反应时间过长,为了确保互灭,宁可接受计算机出差。这就是全蠢而坏且恶的组合了。反之,如果我们看到,作为终极智能之核心的判断力,要求其实非常高,看到今天的AI还可以说没有任何判断力可言,我们也应该意识到AI研究其实是深化理解人类自身的机会——深入理解人之为人所需要的对世界的担当。

关于世界,这里的担忧是:认为世界不过如此罢了,一切不过数据而已,从而更进一步从数据框架内来理解世界,认为搞定了数据就搞定了世界。毋庸置疑,把智能等同于数据压缩、等同于基于数据的优化,是当今AI学界的普遍倾向。这种倾向反映的其实是我们时代在如何理解世界这一终极问题上的思想贫困。数据的重要性只是在术的层面,还有一个世界如何理解的道的问题。就是说,真正深入的AI研究,反而应该能够帮助我们更明了数据与世界的区别,从而“理解世界,并捍卫‘世界之为世界’”。(第184页)

AI走到今天,实际上已经触及了如何理解世界、如何相应树立价值的境地。比如,当我们选择以“达到目的”来定义智能的时候,这个选择对于很多研究而言可能是不错的,但是“达到目的”够吗?如果智能需要担当,那么当智能体不可能以尊重世界、尊重众生的方式达到目的之时,该如何担当呢?

或许,大智的担当是还要有对目的之超越?可感的形和可听的声,都是注记,而大智必须指向世界而非注记,必须超越言说的注记,包括超越言说背后的目的性。这是否也是“大象无形”、“大音希声”的意思呢?如果说今天的ChatGPT已经貌似能言善辩了,或许我们可以问:“安得夫忘言之AI而与之言哉?”

6. 未来

或许有一天,当你说够了,会邀请AI伙伴道:“山间饮茶去?”

AI伙伴说:“好啊!你这老胳膊老腿儿的,我帮你背茶具。我昨晚刚换了两条新腿,正好去试试步。”

你说:“只是你光扛东西,茶也不能喝一口。”

AI伙伴说:“看你这老派的笑话!山间的阳光清澈,照到充电皮肤上的感觉你是不可能明了的。你就别操心我了,还是赶紧涂点防晒霜,保护好自个儿的老脸吧。”e71a2d8421eb8ebf5503ea2ca09b53fa.jpeg

《测算与判断》

【美】布莱恩·坎特韦尔·史密斯 著

刘志毅 译

中信出版集团

2022年9月出版

86f1257bc481147688c88b8f2fca59ad.jpeg

本书已在“赛先生小店”上架,欢迎点击图片购买。

本书为我们理解人工智能提供了一种根本性的、新颖的本体论和认知框架。在以判断力作为终极智能目标的讨论框架下,作者试图考察人工智能从萌芽至今的发展历程。通过分析每一代人工智能技术的基本哲学假设、每一个阶段的智能概念以及迄今为止所取得的成就,作者对“智能”这一概念本身进行了阐释。他建议,人们应学习使用人工智能来执行后者擅长的计算性任务,同时加强自身的判断力和伦理原则。

25f1219a2ae7e62a787ade8e6d5a3995.jpeg

欢迎关注我们,投稿、授权等请联系

saixiansheng@zhishifenzi.com

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

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

相关文章

ChatGPT提示词工程进阶教学

ChatGPT提示词工程 1 两种大型语言模型LLM1.1 基础大模型(base LLM)1.2 指令调优大模型(Instruction Tuned LLM) 2 如何更清晰、具体地书写提示词2.1 在提示词中使用“定界符”2.2 向模型请求结构化的输出2.3 要求模型检查任务条件是否满足2.4 输入多范例…

【花雕学AI】ChatGPT的四大语言处理神器:文本生成、问答、创意生成和内容优化的技巧和实例

引言:ChatGPT是一个人工智能聊天机器人,它可以理解和交流多种语言,例如中文、英文、日文、西班牙语、法语、德语等。它是由OpenAI开发的,基于GPT-3.5和GPT-4这两个大型语言模型。它不仅可以与用户进行对话,还可以根据用…

chatgpt赋能python:Python文本清洗:从混乱到整洁

Python 文本清洗:从混乱到整洁 如果你曾经在处理文本数据时花费了大量时间将信息从混乱的文本中取出来,那么你应该考虑使用 Python 进行文本清洗。Python 是一种易于学习和使用的编程语言,可用于自动化文本清洗流程,实现高效准确…

难逃 AI 的法眼:ChatGPT 文本检测器(ERNIE 文本分类)

★★★ 本文源自AlStudio社区精品项目,【点击此处】查看更多精品内容 >>> 参考项目地址:https://github.com/Hello-SimpleAI/chatgpt-comparison-detection 本项目 Demo 地址:https://aistudio.baidu.com/aistudio/projectdetail…

chatgpt赋能python:Python对文本进行分词

Python对文本进行分词 在自然语言处理(NLP)领域中,对文本进行分词是一个重要的预处理步骤。分词的目的是将一段文本切割成由词语组成的序列,为后续的处理提供基础。 Python在NLP任务中是广泛使用的编程语言之一,有许…

chatgpt赋能python:Python中文文本预处理

Python中文文本预处理 Python作为一门广泛应用于数据分析、机器学习和人工智能的编程语言,在处理中文文本方面也有不可忽视的优势。但是由于中文特殊性,中文文本预处理也有独特的需求。本文将介绍在Python中进行中文文本预处理的常见操作。 分词 分词…

DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective. www.deepspeed.ai/ DeepSpeed Integration DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

使用EasyExcel导入导出Excel

在管理一个系统时,总会有许多的数据,为了方便浏览查看数据,系统总会提供「导出Excel」的功能;有导出就有导入,在要向数据库中插入大量的数据时,我们向程序提供准备好的 Excel,然后程序读取表格内…

EasyExcel导入导出,处理数据

1.导出模块,导出中有中文文件名称,设置格式 /*** 以流方式响应回给客户端,返回值类型设置成void** param response 输出excel表格,让用户下载*/PostMapping("/exportExcel")public void exportExcel(ZqRewardProjectContract zqRew…

QT常用表格导出为Excel以及Excel导入表格

表格导出为Excel 注意:演示所用到的软件为Qt5.14.2,编译器为MinGW 64-bit,电脑必须装有office所用的类为 QAxObject,QAxObject可以实例化为一个空对象,使用它应该封装的COM对象的名称,或者使用一个指向表示…

获取微信的聊天记录导出为Excel

获取微信的聊天记录导出为Excel ios端 1.工具2.步骤 1.工具 iTunes楼月免费iTunes备份管理器DB Browser for SQLitepython 2.步骤 通过iTunes备份ipone中的数据到电脑上, 打开楼月免费iTunes备份管理器选择备份的记录 导出 微信个人信息中的DB文件夹 使用 DB Br…

Excel表格的导入导出——EasyExcel

参考视频 csdn参考地址 一、导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version> </dependency>二、实体类 方式一&#xff1a;Excel Property&#xff08;&…

Easyexcel导入导出多个sheet

EasyExcel对于导入导出的操作十分简洁&#xff0c;记录一下多个sheet且内容不一致的导入导出。 引入 easyExcel依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.1</version></d…

EasyExcel实现Excel文件多sheet导入导出

一、概述 最近公司需要做一个需求&#xff0c;通过excel上传病例信息&#xff0c;并将病例信息进行归档和整理&#xff1b;该需求可以简化为excel模板下载和excel上传并解析归档。既然知道需求了&#xff0c;找excel的操作工具jar包吧&#xff0c;发现以前常用的poi需要写的代…

导入导出excel表格EasyExcel操作

一、添加依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.3</version> </dependency>二、创建实体类 /*** 创建User类,用于构建向Excel表格中写数据的类型;* ExcelPropert…

EasyExcel的导入导出使用

1、说明 EasyExcel是阿里出的一款基于Java的、快速、简洁、解决大文件内存溢出的处理Excel的开源工具&#xff0c;本文主要是使用这个工具对Excel导入导出进行讲解。 官网&#xff1a; https://easyexcel.opensource.alibaba.com/github&#xff1a; https://github.com/alib…

EasyExcel实现execl导入导出

引言 在实际开发中&#xff0c;处理 Excel 文件是一个常见的需求。EasyExcel 是一个基于 Java 的开源库&#xff0c;提供了简单易用的 API&#xff0c;可以方便地读取和写入 Excel 文件。本文将介绍如何使用 EasyExcel 实现 Excel 导入功能&#xff0c;以及一些相关的技巧和注…

导入Excel---post提交通用版

前端界面 通过点击导入弹出一个文本框下载导入的模板 直接进入代码实现环节: 前端部分添加导入按钮: <a href"javascript:;" class"btn btn-primary radius professional_btn">导入</a> 导入的文本框 //导入 $(".professional_btn&qu…

EasyExcel实现Excel文件导入导出

1 EasyExcel简介 EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 github地址: https://github.com/alibaba/easyexcel 官方文档: https://www.yuque.com/easyexcel/doc/easyexcel B站视频: https://www.bilib…

导出Excel表格(调用后端接口方式)

在开发中我们会遇到导出Excel表格的需求&#xff0c;但是导出分为前端生成和后端生成。 前端生成的方式CSDN其他小伙伴已经做出了很多教程&#xff0c;是依赖 xlsx插件。 但是&#xff0c;今天我讲的是&#xff0c;调用后端接口的方式生成Excel表格。 1.调用后端提供的导出接口…