使用php将上传的excel文件转换为csv

2024-02-09

我正在尝试使用 php 创建一个网页,该网页使用浏览按钮上传 excel 文件并将其导入到 mysql 数据库中。

我可以上传 csv 文件并将其导入数据库

//html代码

<form action="import.php" enctype="multipart/form-data" method="post"
role="form">
<input type="file" name="file" id="file" accept=".xls">
<br><br>
<input type="submit" name="submit" value="submit">

//php代码

 if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
 } 
 echo nl2br("Connected to Database successfully \n");
 mysqli_query($conn,'Truncate table sheet');
 $file = $_FILES['file']['tmp_name'];
 file_put_contents($file,str_replace("'","\'",file_get_contents($file)));
 $handle = fopen($file,"r");

//另一部分代码

 if($sql) {
     $ffilename=basename($_FILES['file']['name']);
     $filename=preg_replace('/\\.csv/',' ',$ffilename);
     echo "File ".$filename." imported in database";
 } 

我想上传 excel 文件并将其转换为 csv,而无需按任何额外的按钮,并对我一直在使用的 csv 文件使用相同的代码,即 csv 文件将被导入,但 excel 文件将被上传。


您可以使用Github:PHPOffice/PhpSpreadsheet https://github.com/PHPOffice/PhpSpreadsheet这是的后继者Github:PHPOffice/PHPExcel https://github.com/PHPOffice/PHPExcel

安装它composer require phpoffice/phpspreadsheet

require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$reader = new Xls();
$spreadsheet = $reader->load("test.xls");
$writer = new Csv($spreadsheet);
$writer->save("test.csv");

input file test.xls
enter image description here

output file text.csv
enter image description here


您还可以参考如何使用 PHP 将 Excel XLS 转换为 CSV https://stackoverflow.com/q/7766317/6521116

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用php将上传的excel文件转换为csv 的相关文章

随机推荐

  • 如何解决 UnicodeDecodeError?

    当尝试从数据存储中读取非 ASCII 码时 我收到一条奇怪的错误消息 ascii codec can t decode byte 0xc3 in position 5 ordinal not in range 128 Traceback m
  • 将数据透视表更新到数据库

    我有一个来自 MySQL 查询的数据透视表 该表源自 submit time form name field name field value file order file 15052703120 Submissions your nam
  • CCcomboBoxEx 图像和文本之间的间距

    有没有什么方法 一些系统指标值或其他任何东西可以给出 CComboBoxEx 控件上图标和图像之间的边距有多少像素 下图中红色标记表示的空间 None
  • .pfx 文件是否可以包含多个私钥?

    我试图了解 pfx 文件是否可能包含多个私钥 如果有多组证书及其私钥 如何在 KeyStore 中找到它们 通过使用别名 对吧 所以答案是肯定的 它可以拥有任意数量的私钥和关联的证书 感谢你们
  • 使用 __gnu_mcount_nc 捕获函数退出时间

    我正在尝试在支持不佳的原型嵌入式平台上进行一些性能分析 我注意到 GCC 的 pg 标志导致 thunks gnu mcount nc在每个函数的入口处插入 没有实施 gnu mcount nc是可用的 并且供应商没有兴趣提供帮助 但是由于
  • 为 Project Tango 开发设备设置开发环境时出现问题

    我有一个 Project Tango 开发套件 我对处理传感器的深度数据感兴趣 我的机器上有 ADB 设置 但 Eclipse android 模拟器未检测到 Tango Development 平板电脑 谁能建议我如何为设备进行设置 先感
  • 使我的文件可读为 Perl 或 HTML

    本着 Perl 序言 https stackoverflow com questions 2308874 explain the deviousness of the perl preamble 无论是由 shell 脚本解释器还是 Per
  • 从文本文件导入数据时 SQL 保留关键字导致错误

    我有以下代码 我正在尝试按照本网站上的一位用户的建议使用 php 将文本文件导入到 sql 表中 不幸的是 由于我的文本文件中包含 最大和最小 单词 我的导入中途出现错误 我试图找出我能做些什么来避免它 我发现的大部分内容都是关于在列名称中
  • nginx既是反向代理又是Web服务器

    我目前使用 nginx 和乘客来为我的 Rails 应用程序提供服务 考虑在方程式中加入缓存反向代理 我可以使用同一个 nginx 实例作为反向代理 在端口 80 上运行 提供静态和电子标记操作 还是需要不同的 nginx 实例或完全不同类
  • 如何子类化 vtkActor

    我希望当我选择一个时能够访问我的底层数据结构vtkActor 一个类派生自vtkActor将 ptr 保存到我的数据结构似乎是最简单的方法 我让子类编译得很好 但演员似乎没有添加到渲染器中 所以 这是我的课程 h include
  • DxScene 是“Delphi 的 WPF”吗?有人用过吗?

    我正在使用 DxScene 和 VxScene http www ksdev com dxscene index html http www ksdev com dxscene index html 它看起来非常漂亮和强大 3d 加速矢量图
  • 为什么边距填充在表 td 和 tr 中不起作用?

    table border 0 style padding 10px width 100 tbody tr td style padding 0 img src 8 jpg alt td td style padding 0 img src
  • 增加字符串值

    Java问题在这里 如果我有一个字符串 a 如何向该字符串 添加 值 以便得到 b 等等 就像 a String str abcde System out println getIncrementedString str Output bc
  • 为什么在此正则表达式中 \\ 不被解释为反斜杠?

    我正在学习使用 Java 的模式和匹配器 这是我书中的示例代码片段 正如作者所描述的那样 但我不明白为什么 最终是一个点 而不是反斜杠 部分 和点 部分 编译器不是从左到右读取的吗 import java util regex public
  • 给定 K 个排序列表,每个列表中最多包含 N 个元素,返回所有项目的排序迭代器

    Example List 1 1 4 5 8 9 List 2 3 4 4 6 List 3 0 2 8 Would yield the following result Iterator gt 0 1 2 3 4 4 4 5 6 8 8
  • AltGr 键不起作用,我必须使用 Ctrl+AltGr [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 I encountered this problem several times I want to use a character ac
  • 在 C++11 中实现复制和交换习惯用法的更好方法

    我看到很多代码在复制和交换方面实现了五规则 但我认为我们可以使用移动函数来替换交换函数 如下代码所示 include
  • 具有共享依赖项的嵌套ExternalProject_Add

    我正在尝试申请ExternalProject Add自动安装中型 C 项目的依赖项 事情进展顺利 直到我不得不安装一个使用的库ExternalProject Add安装它的依赖项之一 我自己的项目也恰好使用了它 如果我可以避免重建这个库 而
  • bash 多个命令行参数相互依赖

    我有一个脚本 其中接受以下参数 脚本 dph peh 第一个参数告诉脚本我是否需要使用生产脚本或开发脚本来执行它 第二个参数告诉脚本生成的报告的输出是否应作为电子邮件发送或应重定向到 html 页面 当我使用 getopts 时 我得到一个
  • 使用php将上传的excel文件转换为csv

    我正在尝试使用 php 创建一个网页 该网页使用浏览按钮上传 excel 文件并将其导入到 mysql 数据库中 我可以上传 csv 文件并将其导入数据库 html代码