oracle 19c容器数据库数据加载和传输-----SQL*Loader(一)

目录

数据加载

(一)控制文件加载

1.创建用户执行sqlldr

2.创建文本文件和控制文件

3.查看表数据

4.查看log文件

         (二)快捷方式加载

1.system用户执行

2.查看表数据

3.查看log文件

外部表


数据加载和传输的工具:SQL*Loder  , datadump以及其他的工具

1.SQL*Loader可以加载传输数据,加载文本文件到数据库里面

2.用于外部表

数据加载

(一)控制文件加载

文件:

control file:定义文本数据的格式,指定元数据的位置,指定导入到指定的表

log file:自动产生,如果产生不了,SQL*Loader的操作会终止,记录了整个加载的过程

bad file(可选):数据中有约束,如果加载的时候有一些行违反了约束就会放在这里面

discard file(可选):如果文本文件的格式和控制文件中的格式不符合会显示在这里

1.创建用户执行sqlldr

[oracle@19c ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jan 4 12:03:28 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> show pdbs

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED              READ ONLY  NO
     3 PDB1               MOUNTED
SQL> alter pluggable database pdb1 open;

Pluggable database altered.


SQL> alter session set container=pdb1;

Session altered.

SQL> show pdbs;

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     3 PDB1               READ WRITE NO
SQL> show user;
USER is "SYS"


SQL> create user nice identified by oracle
  2  quota 100m on users;--------在pdb创建一个用户并且给用户分配空间

User created.

SQL> grant create table ,connect ,resource to nice;------给用户分配权限

Grant succeeded.



[oracle@19c testtest]$ sqlplus nice/oracle@pdb1;------验证是否能连接上pdb

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jan 4 21:47:26 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> show user;
USER is "NICE"


SQL> CREATE TABLE TEST1 (X1 CHAR(1),
  2  X2 VARCHAR2(10),
  3  X3 NUMBER,
  4  X4 NUMBER,
  5  X5 VARCHAR2(20),
  6  X6 VARCHAR2(20),
  7  X7 DATE);

Table created.


SQL> select * from nice.test1;

no rows selected

SQL> desc nice.test1;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 X1                            CHAR(1)
 X2                            VARCHAR2(10)
 X3                            NUMBER
 X4                            NUMBER
 X5                            VARCHAR2(20)
 X6                            VARCHAR2(20)
 X7                            DATE

2.创建文本文件和控制文件

[oracle@19c oracle]$ cd testtest
[oracle@19c testtest]$ ll -ls
total 12
0 -rwxrwxrwx 1 oracle oinstall    0 Jan  4 13:46 test1.bad//bad file
4 -rwxrwxrwx 1 oracle oinstall  220 Jan  4 21:34 test1.ctl//控制文件
4 -rwxrwxrwx 1 oracle oinstall  121 Jan  4 21:38 test1.dat//需要导入的文件
0 -rwxrwxrwx 1 oracle oinstall    0 Jan  4 13:46 test1.dsc//和文本格式不符合的信息文件


[oracle@19c testtest]$ cat test1.ctl
LOAD DATA
INFILE 'test1.dat'
BADFILE 'test1.bad'
DISCARDFILE 'test1.dsc'
APPEND//累加到表中,如果是replace就是不累加
INTO TABLE nice.test1
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'//用逗号进行列之间的分割,双引号是代表组合
TRAILING NULLCOLS//如果导入的文本文件列数比实际表的列数小,就会被当成空值导入
(X1, X2, X3, X4, X5, X6, X7 date 'yyyy-mm-dd')//指定日期格式

[oracle@19c testtest]$ cat test1.dat
A,AA,1,11,AAA,AAAA,2014-09-09
B,BB,2,22,BBB,BBBB,2014-09-09
C,CC,3,33,CCC,CCCC,2014-09-09
D,DD,4,44,DDD,DDDD,2014-09-09

[oracle@19c testtest]$ sqlldr nice/oracle@pdb1 control=test1.ctl//需要进入到文本文件所在的目录下执行文件,不然就需要加绝对路径,不然会遇到如下报错
SQL*Loader: Release 19.0.0.0.0 - Production on Thu Jan 4 21:57:36 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Path used:      Conventional
Commit point reached - logical record count 5

Table NICE.TEST1:
  4 Rows successfully loaded.

Check the log file:
  test1.log
for more information about the load.

SQL*Loader-500: Unable to open file (test1.ctl)

SQL*Loader-553: file not found

SQL*Loader-509: System error: No such file or directory



 

3.查看表数据

SQL> select * from nice.test1;

SQL> set linesize 200;
SQL> /

X X2             X3     X4 X5            X6             X7
- ---------- ---------- ---------- -------------------- -------------------- ---------
A AA              1     11 AAA            AAAA             09-SEP-14
B BB              2     22 BBB            BBBB             09-SEP-14
C CC              3     33 CCC            CCCC             09-SEP-14
D DD              4     44 DDD            DDDD             09-SEP-14

4.查看log文件

[oracle@19c testtest]$ cat test1.log

SQL*Loader: Release 19.0.0.0.0 - Production on Thu Jan 4 21:57:36 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Control File:   test1.ctl
Data File:      test1.dat
  Bad File:     test1.bad
  Discard File: test1.dsc 
 (Allow all discards)

Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array:     250 rows, maximum of 1048576 bytes
Continuation:    none specified
Path used:      Conventional

Table NICE.TEST1, loaded from every logical record.
Insert option in effect for this table: APPEND
TRAILING NULLCOLS option in effect

   Column Name                  Position   Len  Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
X1                                  FIRST     *   ,  O(") CHARACTER            
X2                                   NEXT     *   ,  O(") CHARACTER            
X3                                   NEXT     *   ,  O(") CHARACTER            
X4                                   NEXT     *   ,  O(") CHARACTER            
X5                                   NEXT     *   ,  O(") CHARACTER            
X6                                   NEXT     *   ,  O(") CHARACTER            
X7                                   NEXT     *   ,  O(") DATE yyyy-mm-dd      

Record 5: Discarded - all columns null.

Table NICE.TEST1:
  4 Rows successfully loaded.//4行数据加载成功,0行失败
  0 Rows not loaded due to data errors.
  0 Rows not loaded because all WHEN clauses were failed.
  1 Row not loaded because all fields were null.


Space allocated for bind array:                 451500 bytes(250 rows)
Read   buffer bytes: 1048576

Total logical records skipped:          0
Total logical records read:             5
Total logical records rejected:         0
Total logical records discarded:        1

Run began on Thu Jan 04 21:57:36 2024
Run ended on Thu Jan 04 21:57:42 2024

Elapsed time was:     00:00:05.69
CPU time was:         00:00:00.04


 

在导入的过程中还遇到了一个报错:

SQL*Loader-941:Error during describe of table C##U1.TEST1

ORA-04043: OBJECT C##U1.TEST1 does not exist

遇到这个问题后很久都没有解决,后来直接在pdb1创建一个普通用户nice就可以传输数据了,有可能是通用用户的问题。

(二)快捷方式加载

这种方式要求table的名字和导入文件的名字要一样,这样的话oracle会自己到路径下去找到这个文件进行导入。这种方式没有第一种只能,不能转换格式。日期的格式要和数据库默认的格式一致,不能识别的值不会被导入。

1.system用户执行

SQL> select * from test1;

X X2		     X3 	X4 X5			X6
- ---------- ---------- ---------- -------------------- --------------------
X7
---------
A AA		      1 	11 AAA			AAAA
09-SEP-14

B BB		      2 	22 BBB			BBBB
09-SEP-14

C CC		      3 	33 CCC			CCCC
09-SEP-14


X X2		     X3 	X4 X5			X6
- ---------- ---------- ---------- -------------------- --------------------
X7
---------
D DD		      4 	44 DDD			DDDD
09-SEP-14


SQL> truncate table test1;-------先清空这张表为重新导入做准备

Table truncated.

SQL> select * from test1;

no rows selected

[oracle@19c testtest]$ sqlldr system/oracle@pdb1 table=nice.test1//system用户执行

SQL*Loader: Release 19.0.0.0.0 - Production on Fri Jan 5 13:14:24 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Express Mode Load, Table: NICE.TEST1
Path used:      External Table, DEGREE_OF_PARALLELISM=AUTO

Table NICE.TEST1:
  1 Row successfully loaded.

Check the log files:
  nice.log
  nice_%p.log_xt
for more information about the load.

2.查看表数据

SQL> select * from test1;
SQL> set linesize 300
SQL> /

X X2             X3     X4 X5            X6             X7
- ---------- ---------- ---------- -------------------- -------------------- ---------
A AA              1     11 AAA            AAAA             09-SEP-14


 

3.查看log文件

以下可看出这钟方式导入时先创建了一个外部表,加载完之后又把外部表删除

[oracle@19c testtest]$ cat nice.log

SQL*Loader: Release 19.0.0.0.0 - Production on Fri Jan 5 13:14:24 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Express Mode Load, Table: NICE.TEST1
Data File:      test1.dat
  Bad File:     test1.bad
  Discard File:  none specified
 
 (Allow all discards)

Number to load: ALL
Number to skip: 0
Errors allowed: 50
Continuation:    none specified
Path used:      External Table

Table NICE.TEST1, loaded from every logical record.
Insert option in effect for this table: APPEND

   Column Name                  Position   Len  Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
X1                                  FIRST     *   ,       CHARACTER            
X2                                   NEXT     *   ,       CHARACTER            
X3                                   NEXT     *   ,       CHARACTER            
X4                                   NEXT     *   ,       CHARACTER            
X5                                   NEXT     *   ,       CHARACTER            
X6                                   NEXT     *   ,       CHARACTER            
X7                                   NEXT     *   ,       DATE "DD-MON-RR"     

Generated control file for possible reuse:
OPTIONS(EXTERNAL_TABLE=EXECUTE, TRIM=LRTRIM)
LOAD DATA
INFILE '(null)'
APPEND
INTO TABLE NICE.TEST1
FIELDS TERMINATED BY ","
(
  X1,
  X2,
  X3,
  X4,
  X5,
  X6,
  X7 DATE
)
End of generated control file for possible reuse.

created temporary directory object SYS_SQLLDR_XT_TMPDIR_00000 for path /u01/app/oracle/testtest

enable parallel DML: ALTER SESSION ENABLE PARALLEL DML

creating external table "SYS_SQLLDR_X_EXT_TEST1"

CREATE TABLE "SYS_SQLLDR_X_EXT_TEST1" 
(
  "X1" CHAR(1),
  "X2" VARCHAR2(10),
  "X3" NUMBER,
  "X4" NUMBER,
  "X5" VARCHAR2(20),
  "X6" VARCHAR2(20),
  "X7" DATE
)
ORGANIZATION external 
(
  TYPE oracle_loader
  DEFAULT DIRECTORY SYS_SQLLDR_XT_TMPDIR_00000
  ACCESS PARAMETERS 
  (
    RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII
    BADFILE 'SYS_SQLLDR_XT_TMPDIR_00000':'test1.bad'
    LOGFILE 'nice_%p.log_xt'
    READSIZE 1048576
    FIELDS TERMINATED BY "," LRTRIM 
    REJECT ROWS WITH ALL NULL FIELDS 
    (
      "X1" CHAR(255),
      "X2" CHAR(255),
      "X3" CHAR(255),
      "X4" CHAR(255),
      "X5" CHAR(255),
      "X6" CHAR(255),
      "X7" CHAR(255)
        DATE_FORMAT DATE MASK "DD-MON-RR"
    )
  )
  location 
  (
    'test1.dat'
  )
)REJECT LIMIT UNLIMITED

executing INSERT statement to load database table NICE.TEST1

INSERT /*+ append parallel(auto) */ INTO NICE.TEST1 
(
  X1,
  X2,
  X3,
  X4,
  X5,
  X6,
  X7
)
SELECT 
  "X1",
  "X2",
  "X3",
  "X4",
  "X5",
  "X6",
  "X7"
FROM "SYS_SQLLDR_X_EXT_TEST1"

dropping external table "SYS_SQLLDR_X_EXT_TEST1"

Table NICE.TEST1:
  1 Row successfully loaded.

Run began on Fri Jan 05 13:14:24 2024
Run ended on Fri Jan 05 13:14:26 2024

Elapsed time was:     00:00:02.00
CPU time was:         00:00:00.03

外部表

外部表的数据不会被加载到数据库里面。

ORACLE_LOADER 针对的是文本文件,ORACLE_DATADUMP针对的是二进制文件,不管是哪种引擎,外部表的数据源都是放在操作系统上的,不占用数据库的空间。

以SQL*Loader为引擎创建外部表

[oracle@19c ~]$ sqlplus sys/oracle@pdb1 as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jan 5 13:51:09 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> show user
USER is "SYS"
SQL> create directory ldr_dir as '/u01/app/oracle/testtest';------用sys用户创建一个目录,并且给nice赋权

Directory created.


SQL>  grant read,write,execute on directory ldr_dir to nice;

Grant succeeded.


SQL> exit
[oracle@19c ~]$ sqlplus nice/oracle@pdb1--------nice用户连接到数据库

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jan 5 13:58:42 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Last Successful login time: Fri Jan 05 2024 12:41:44 +08:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0


SQL> CREATE TABLE test1_ext ----表的名字叫test1_ext
  2  (
  3   "X1" CHAR(1),
  4   "X2" VARCHAR2(10),
  5   "X3" NUMBER,
  6   "X4" NUMBER,
  7   "X5" VARCHAR2(20),
  8   "X6" VARCHAR2(20),
  9   "X7" DATE
 10  )
 11  ORGANIZATION external -----指明这是一个外部表
 12  (
 13   TYPE oracle_loader-------用的是oracle_loader引擎
 14   DEFAULT DIRECTORY ldr_dir-----目录是 ldr_dir
 15   ACCESS PARAMETERS -----以下是访问的参数
 16   (
 17   RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII-----指定字符集
 18  BADFILE ldr_dir:'test1.bad'
 19   DISCARDFILE ldr_dir:'test1.dsc'
 20   LOGFILE ldr_dir:'test1.log'
 21   READSIZE 1048576
 22   FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LDRTRIM ----逗号是分隔,双引号代表组合
 23   MISSING FIELD VALUES ARE NULL ----列如果没有的话用空值来对待
 24   REJECT ROWS WITH ALL NULL FIELDS 
 25   (
 26   "X1" CHAR(255)
 27   TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',
 28   "X2" CHAR(255)
 29   TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',
 30   "X3" CHAR(255)
 31   TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',
 32   "X4" CHAR(255)
 33   TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',
 34   "X5" CHAR(255)
 35   TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',
 36   "X6" CHAR(255)
 37   TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',
 38   "X7" CHAR(255)
 39   TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
 40   DATE_FORMAT DATE MASK 'yyyy-mm-dd'
 41   )
 42   )
 43   location 
 44   (
 45   'test1.dat'----指定需要导入的文本
 46   )
 47  )REJECT LIMIT UNLIMITED;

Table created.

SQL> select * from test1_ext;

SQL> set linesize 300;
SQL> /

X X2             X3     X4 X5            X6             X7
- ---------- ---------- ---------- -------------------- -------------------- ---------
A AA              1     11 AAA            AAAA             09-SEP-14
B BB              2     22 BBB            BBBB             09-SEP-14
C CC              3     33 CCC            CCCC             09-SEP-14
D DD              4     44 DDD            DDDD             09-SEP-14
E EE              5     55 EEE            EEEE             09-SEP-14
F FF              6     66 FFF            FF,FF             09-SEP-14
G GG              7     77 ggg            CIH

7 rows selected.



 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hyperledger Fabric 生成组织身份解析

fabric 版本 2.4.1 Fabric 网络通过证书和密钥来管理和认证成员身份,经常需要生成证书文件。通常这些操作可以使用 PKI 服务(如 Fabric-CA)或者 OpenSSL 工具来实现(针对单个证书的签发)。为了方便批量管理组织证书&am…

Hyperledger Fabric Docker 方式多机部署生产网络

规划网络拓扑 3 个 orderer 节点;组织 org1 , org1 下有两个 peer 节点, peer0 和 peer1; 组织 org2 , org2 下有两个 peer 节点, peer0 和 peer1; 因为我只有 3 台虚拟机资源所以没法实现完全的多机部署,资源使用规划如下&#…

Mac电脑系统提速软件CleanmyMac X2024

Mac是现代人日常工作时必不可少的工具,尤其是在居家办公已经屡见不鲜的当下。视频会议、文档传送、视频剪辑等等。它在工作中扮演的角色越来越重要,所以也导致了它的流畅程度可以在很大程度上影响人们一整天的工作效率和心情。 CleanMyMac X全新版下载如…

后端程序员开发win小工具(未完待续)

github:https://gitee.com/forgot940629/win-tool-demo 本地启动,查看http://127.0.0.1:8080/form 场景 在日常工作中可能需要后端开发者开发一些辅助工具。这些辅助工具通常希望能想其他软件一样在桌面系统运行,并且有一些桌面应用的基本…

Spring MVC(day1)

什么是MVC MVC是一种设计模式,将软件按照模型、视图、控制器来划分: M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为数据承载Bean:专门存储业务数据…

geemap学习笔记043:开始Earth Engine Python脚本

前言 前段时间是针对geemap中的Tutorials和geemap book进行了系统学习,针对其中所涉及到的geemap例子进行了详细的记录和备注,虽然感觉已经是入门了不少,例如earth engine无非就是涉及到Image、ImageCollection、Geometry、Feature、Feature…

江科大-stm32-B站系统初识笔记P2

文章目录 一:ARM是什么二:关键字介绍 推荐视频:《 STM32入门教程-2023版 细致讲解 中文字幕》 一:ARM是什么 ①: ST – 意法半导体 M – Microelectronics 微电子 32 – 总线宽度 ARM架构: Cortex-A:Application 应用…

Vue.js设计与实现阅读2

Vue.js设计与实现阅读-2 1、前言2、框架设计的核心要素2、1 提升用户体验2、2 控制代码体积2、3 Tree-Shaking2、4 特性开关2、5 错误处理 1、前言 上一篇我们了解到了 命令式和声明式的区别,前者关注过程,后者关注结果了解了虚拟dom存在的意义&#x…

AI ppt生成器 Tome

介绍 一款 AI 驱动的 PPT/幻灯片内容辅助生成工具。只需要输入一个标题或者一段特定的描述,AI 便会自动生成一套包括标题、大纲、内容、配图的完整 PPT。 Tome平台只需要用户输入一句话,就可以自动生成完整的PPT,包括文字和图片。功能非常强…

1688商品详情数据API接口(item_get-获得1688商品详情)搜索商品列表接口

1688是一个大型的B2B(Business-to-Business)批发平台,提供各种商品和服务的采购。如果你想要通过API接口从1688获取商品详情,通常你需要查看1688的开发者文档或联系他们的API支持团队了解具体的API接口信息和调用方法。 一般来说…

基于jsp的在线求职招聘信息系统 设计与实现

当前企业求职招聘的方式更多是通过传统的线下招聘会或职业介绍所来实现的,其不但受众具有很大的局限性,而且往往不可能在短时间内招聘的需要的人才。而互联网的普及为企业求职招聘的方式带来了翻天覆地的改变。通过互联网将招聘信息进行发布可以在短时间…

详解Oracle数据库的启动

Oracle数据库的启动,其概念可参考Overview of Instance and Database Startup。 其过程可参见下图: 当数据库从关闭状态进入打开数据库状态时,它会经历以下阶段。 阶段Mount状态描述1实例在没有挂载数据库的情况下启动实例已启动&#xff…

锂电池低温充电效率低、容量低的原因

前言:锂离子电池在充电时,Li从正极脱嵌并嵌入负极;但是当一些异常情况:如负极嵌锂空间不足、Li嵌入负极阻力太大、Li过快的从正极脱嵌但无法等量的嵌入负极等异常发生时,无法嵌入负极的Li只能在负极表面得电子&#xf…

仿宋-GB2312字体

一、下载仿宋_GB2312.zip压缩包并解压缩 二、双击打开字体文件,点击左上角安装按钮 三、安装完成 安装完成后,重新打开Word正常情况下字体就有了。如果此时在Word文档内还没出现这个字体的话,大家可以重启电脑再查看一下

Hyperledger Fabric 架构概览

fabric 版本 v2.4.1 超级账本 Fabric 自诞生以来已经发布了两个主要版本:1.0 系列版本(2017 年 7 月)和 2.0 系列版本(2020 年 1 月)。2016 年 9 月,Fabric 发布了 v0.6.0 预览版本,通过这一版本…

【uniapp】调用阿里云OCR图片识别文字:

文章目录 一、效果&#xff1a;二、实现&#xff1a; 一、效果&#xff1a; 二、实现&#xff1a; 【阿里官方】高精版OCR文字识别【最新版】-云市场-阿里云 <template><view class"container"><!-- 选择图片 --><button click"imageO…

JQuery异步加载表格选择记录

JQuery异步加载表格选择记录 JQuery操作表格 首先在页面中定义一个表格对象 <table id"insts" class"table"><thead><tr><th>列1</th><th>列2</th><th>例3</th><th></th></tr>…

Linux文件系统与日志分析

一、inode和block概述 文件数据包括元信息与实际数据 文件存储在硬盘上&#xff0c;硬盘最小存储单位是“扇区”&#xff0c;每个扇区存储512字节 元信息&#xff1a;每个文件的属性信息&#xff0c;比如&#xff1a;文件的大小&#xff0c;时间&#xff0c;类型&#xff0c…

Vue使用printJS导出网页为pdf、printJS导出pdf

先放几个参考链接 感谢&#xff01; Vue使用PrintJS实现页面打印功能_vue print.js 设置打印pdf的大小-CSDN博客 前台导出pdf经验汇总 &#xff08;html2canvas.js和浏览器自带的打印功能-print.js&#xff09;以及后台一些导出pdf的方法_iqc后台管理系统怎么做到导出pdf-CSD…

java导出word套打

这篇文档手把手教你完成导出word套打&#xff0c;有这个demo&#xff0c;其他word套打导出都通用。 1、主要依赖 <!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.0</ve…