cari
Rumahpembangunan bahagian belakangtutorial php关于原生php实现excel文件读写的方法

关于原生php实现excel文件读写的方法

Jun 19, 2018 pm 04:14 PM
fail excelphpBaca dan tulis

这篇文章主要介绍了原生php实现excel文件读写的方法,结合实例形式分析了采用原生php针对Excel进行读写操作的相关实现方法与操作注意事项,需要的朋友可以参考下

本文实例分析了原生php实现excel文件读写的方法。分享给大家供大家参考,具体如下:

最近在工作中遇到一个需求,需要将数据库中的数据导出到excel文件中,并下载excel文件。因为以前没做过,所以就百度了一下,网上说的大多是使用PHPExcel类来操作excel文件,这还要去下载这个类才能使用,而我只想使用原生的php,不想那么麻烦,好在也有网友说到关于原生php生成excel文件的方法,其实很简单,下面把我结合网上资料自己实践的代码分享一下。

一般我们这种导数据的操作都是通过用户在网页页面上点击某个按钮触发相应js方法,然后请求php接口来实现的,所以主要有两种方法来完成这种需求。

方法1:直接在js代码中使用window.open()打开php接口的url,即可将php生成的excel文件下载下来。

php接口代码如下:

$mysqli = mysqli_connect('localhost', 'root', '123456', 'test');
$sql = 'select * from country';
$res = mysqli_query($mysqli, $sql);
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=country.xls");
echo "code\t";
echo "name\t";
echo "population\t\n";
if(mysqli_num_rows($res) > 0) {
  while($row = mysqli_fetch_array($res)) {
    echo $row['code']."\t";
    echo $row['name']."\t";
    echo $row['population']."\t\n";
  }
}

方法2:php接口中先把生成的excel文件保存在服务器中,然后把文件路径返回给js,js再使用window.open()打开文件路径即可下载。

php接口代码如下:

$mysqli = mysqli_connect('localhost', 'root', '123456', 'test');
$sql = 'select * from country';
$res = mysqli_query($mysqli, $sql);
$file = fopen('./country.xls', 'w');
fwrite($file, "code\tname\tpopulation\t\n");
if(mysqli_num_rows($res) > 0) {
  while($row = mysqli_fetch_array($res)) {
    fwrite($file, $row['code']."\t".$row['name']."\t".$row['population']."\t\n");//这里写得不好,应该把所有文件内容组装到一个字符串中然后一次性写入文件。
  }
}
fclose($file);
echo 'http://www.jtw.com/....../country.xls';//这里返回文件路径给js

两种方法很类似,都能实现将数据库中的数据导出到excel文件中并下载文件,最终文件截图如下:

如果有需要,还可以使用原生php对excel文件内容进行读取操作,这主要用于需要将excel文件中的数据导入到数据库中的情况。

代码如下:(这里仅展示将文件数据读取到一个数组中)

$path = './country.xls';
$file = fopen($path, 'r');
//标题行读取(第一行)
$row = fgets($file);
$row = explode("\t", $row);
$title = array();
foreach($row as $k => $v) {
  $title[$k] = str_replace("\n", '', $v);
}
//内容读取
$data = array();
$count = 0;
while(!feof($file)) {
  $row = fgets($file);
  $row = explode("\t", $row);
  if(!$row[0]) continue;//去除最后一行
  foreach($title as $k => $v) {
    $data[$count][$title[$k]] = $row[$k];
  }
  $count ++;
}
fclose($file);
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($data);

不过,使用原生php生成的excel文件,存在一个问题,就是每次编辑文件之后保存文件的时候总是会出现如下截图的问题:

也不知道是什么原因,大概是生成的文件本身存在一些问题吧。。。

而且使用原生php对生成的excel文件进行读取的时候会出现中文乱码等一些奇葩情况。所以,使用原生php生成excel文件最好仅在某种情况下使用:只是单纯地将数据从数据库导出到文件中方便查看,无需对文件进行修改,也无需对文件进行读取。这种情况使用原生php来生成excel足以满足需求,免去使用第三方类库来操作excel的麻烦。不过,若是生成之后的文件还有修改保存、读取数据的需求,那还是老老实实使用phpexcel等第三方类库来进行读写操作吧,可以避免很多让人纠结的问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

基于php导出到Excel或CSV的方法

关于ThinkPHP3.1中Widget的用法

Atas ialah kandungan terperinci 关于原生php实现excel文件读写的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Status Semasa PHP: Lihat trend pembangunan webStatus Semasa PHP: Lihat trend pembangunan webApr 13, 2025 am 12:20 AM

PHP tetap penting dalam pembangunan web moden, terutamanya dalam pengurusan kandungan dan platform e-dagang. 1) PHP mempunyai ekosistem yang kaya dan sokongan rangka kerja yang kuat, seperti Laravel dan Symfony. 2) Pengoptimuman prestasi boleh dicapai melalui OPCACHE dan NGINX. 3) Php8.0 memperkenalkan pengkompil JIT untuk meningkatkan prestasi. 4) Aplikasi awan asli dikerahkan melalui Docker dan Kubernet untuk meningkatkan fleksibiliti dan skalabiliti.

PHP vs Bahasa Lain: PerbandinganPHP vs Bahasa Lain: PerbandinganApr 13, 2025 am 12:19 AM

PHP sesuai untuk pembangunan web, terutamanya dalam pembangunan pesat dan memproses kandungan dinamik, tetapi tidak baik pada sains data dan aplikasi peringkat perusahaan. Berbanding dengan Python, PHP mempunyai lebih banyak kelebihan dalam pembangunan web, tetapi tidak sebaik python dalam bidang sains data; Berbanding dengan Java, PHP melakukan lebih buruk dalam aplikasi peringkat perusahaan, tetapi lebih fleksibel dalam pembangunan web; Berbanding dengan JavaScript, PHP lebih ringkas dalam pembangunan back-end, tetapi tidak sebaik JavaScript dalam pembangunan front-end.

PHP vs Python: Ciri dan Fungsi TerasPHP vs Python: Ciri dan Fungsi TerasApr 13, 2025 am 12:16 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri dan sesuai untuk senario yang berbeza. 1.PHP sesuai untuk pembangunan web dan menyediakan pelayan web terbina dalam dan perpustakaan fungsi yang kaya. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan standard yang kuat. Apabila memilih, ia harus diputuskan berdasarkan keperluan projek.

PHP: Bahasa utama untuk pembangunan webPHP: Bahasa utama untuk pembangunan webApr 13, 2025 am 12:08 AM

PHP adalah bahasa skrip yang digunakan secara meluas di sisi pelayan, terutamanya sesuai untuk pembangunan web. 1.PHP boleh membenamkan HTML, memproses permintaan dan respons HTTP, dan menyokong pelbagai pangkalan data. 2.PHP digunakan untuk menjana kandungan web dinamik, data borang proses, pangkalan data akses, dan lain -lain, dengan sokongan komuniti yang kuat dan sumber sumber terbuka. 3. PHP adalah bahasa yang ditafsirkan, dan proses pelaksanaan termasuk analisis leksikal, analisis tatabahasa, penyusunan dan pelaksanaan. 4.Php boleh digabungkan dengan MySQL untuk aplikasi lanjutan seperti sistem pendaftaran pengguna. 5. Apabila debugging php, anda boleh menggunakan fungsi seperti error_reporting () dan var_dump (). 6. Mengoptimumkan kod PHP untuk menggunakan mekanisme caching, mengoptimumkan pertanyaan pangkalan data dan menggunakan fungsi terbina dalam. 7

PHP: asas banyak laman webPHP: asas banyak laman webApr 13, 2025 am 12:07 AM

Sebab mengapa PHP adalah timbunan teknologi pilihan untuk banyak laman web termasuk kemudahan penggunaannya, sokongan komuniti yang kuat, dan penggunaan yang meluas. 1) Mudah dipelajari dan digunakan, sesuai untuk pemula. 2) Mempunyai komuniti pemaju yang besar dan sumber yang kaya. 3) Digunakan secara meluas dalam platform WordPress, Drupal dan lain -lain. 4) Mengintegrasikan dengan ketat dengan pelayan web untuk memudahkan penggunaan pembangunan.

Di luar gembar -gembur: Menilai peranan PHP hari iniDi luar gembar -gembur: Menilai peranan PHP hari iniApr 12, 2025 am 12:17 AM

PHP kekal sebagai alat yang kuat dan digunakan secara meluas dalam pengaturcaraan moden, terutamanya dalam bidang pembangunan web. 1) PHP mudah digunakan dan diintegrasikan dengan lancar dengan pangkalan data, dan merupakan pilihan pertama bagi banyak pemaju. 2) Ia menyokong penjanaan kandungan dinamik dan pengaturcaraan berorientasikan objek, sesuai untuk membuat dan mengekalkan laman web dengan cepat. 3) Prestasi PHP dapat ditingkatkan dengan caching dan mengoptimumkan pertanyaan pangkalan data, dan komuniti yang luas dan ekosistem yang kaya menjadikannya masih penting dalam timbunan teknologi hari ini.

Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apr 12, 2025 am 12:13 AM

Dalam PHP, rujukan lemah dilaksanakan melalui kelas lemah dan tidak akan menghalang pemungut sampah daripada menebus objek. Rujukan lemah sesuai untuk senario seperti sistem caching dan pendengar acara. Harus diingat bahawa ia tidak dapat menjamin kelangsungan hidup objek dan pengumpulan sampah mungkin ditangguhkan.

Terangkan kaedah sihir __invoke dalam PHP.Terangkan kaedah sihir __invoke dalam PHP.Apr 12, 2025 am 12:07 AM

Kaedah \ _ \ _ membolehkan objek dipanggil seperti fungsi. 1. Tentukan kaedah \ _ \ _ supaya objek boleh dipanggil. 2. Apabila menggunakan sintaks $ OBJ (...), PHP akan melaksanakan kaedah \ _ \ _ invoke. 3. Sesuai untuk senario seperti pembalakan dan kalkulator, meningkatkan fleksibiliti kod dan kebolehbacaan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna