PHP将Excel导入数据库及数据库数据导出至Excel的方法

         本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法。分享给大家供大家参考。具体实现方法如下:

         一.导入

          导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载 提取码:vxyn。(注意两个文件有引用关系)

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

<?php
//传入要导入的Excel的文件名
function import_to_DB($filename) {
require_once'reader.php';
$data = new Spreadsheet_Excel_Reader();
//创建读取Excel的对象
$data->setOutputEncoding('utf-8');
//设置读取Excel内容后输出的字符编码
$data->read("data/Excel/{$filename}.xls");
$db = mysql_connect('localhost', '用户名', '密码') or die("Could not connect to database.");
//连接数据库
mysql_query("set names 'uft8'");
//输出中文
mysql_select_db('数据库名');
//选择数据库
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
echo $data->sheets[0]['cells'][$i][列数];
//这里可以把每一行相应列的值插到数据库中,如:
/*
$sql="insert "表名" values(对应项...)";
mysql_query($sql);
可加上错误判断
*/
}
?>

         总之,能够读出表格中每一行中的相应列$data->sheets[0][行][列]的值,插入操作就好办了。

          二.导出

         导出可以利用MIME协议轻松导出表格文件,不用依赖任何组件。按如下格式设置header即可导出Excel,同时浏览器进行下载

?

1
2
3
4

header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8"); //application/vnd.ms-excel指定输出Excel格式
header("Content-Disposition:filename=表格文件名.xls");
//输出的表格名称

        完整代码如下:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14

<?php
header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header("Content-Disposition:filename=表格文件名.xls");
$conn = mysql_connect("localhost","root","数据库密码") or die("不能连接数据库");
mysql_select_db("数据库名", $conn);
mysql_query("set names 'UTF-8'");
$sql="select * from 表名 where 条件";
$result=mysql_query($sql);
echo "表头1t表头2t表头3n";
while($row=mysql_fetch_array($result)){
echo $row[0]."t".$row[1]."t".$row[2]."n";
}
?>

        这里其实t就是换格,n就是换行。在一个网页中设置这个php文件的链接,当点击时浏览器会自动把传过来的流保存为Excel文件。

         希望本文所述对大家的php程序设计有所帮助。

时间: 2024-10-02 22:00:03

PHP将Excel导入数据库及数据库数据导出至Excel的方法的相关文章

求C#代码!!关于从Excel表中将数据导入Access数据库,以及Access数据库中的数据导出到Excel表的代码。急!!!晚上就得交差啊

问题描述 我需要从Excel表中将数据导入Access数据库,以及Access数据库中的数据导出到Excel表的代码,越具体越好!!望各位高手能不吝赐教 解决方案 解决方案二:不会吧?难道世间真的是如此残忍?为什么没人理我啊?高手们,算小弟我求你们了!难道是分不够多吗?初出江湖实在是身无分文啊----就不要太在意这个了,好不好啊?给我写写吧,万分感谢了!!解决方案三:这里是利用officeapplication方式来操作excel的http://blog.csdn.net/fangxinggoo

如何把数据库里的数据导出成excel格式?

问题描述 大家好!请问高手如何把数据库里的数据导出成excel格式(用asp.net实现)谢谢! 解决方案 解决方案二:mark~解决方案三:网上有相关的例子,很多哦!解决方案四:1.gridview显示数据库的所需数据2.gridview导出excel下面是button事件中的代码protectedvoidBtn_ExportClick(objectsender,EventArgse){Response.ClearContent();Response.AddHeader("content-di

PHP将Excel导入数据库及数据库数据导出至Excel的方法_php技巧

本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法.分享给大家供大家参考.具体实现方法如下: 一.导入 导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn.(注意两个文件有引用关系) <?php //传入要导入的Excel的文件名 function import_to_DB($filename) { require_once'reader.php'; $data = new Spreadsheet_Excel_Reade

asp.net c# 把excel导入mssql sql数据库并支持多个sheet表

asp教程.net c# 把excel导入mssql sql数据库教程并支持多个sheet表 '解决方法一 objSheet = (Excel._Worksheet)objSheets.get_Item(Sheets); '实例代码 for (int i = 0; i < dtData.Rows.Count; i++)   {   for (int j = 0; j < dtData.Columns.Count - 1; j++)   {   objSheet.Cells[i + 2, j +

sqlite-Android如何将SQLite数据库中的数据导出为csv格式的文件

问题描述 Android如何将SQLite数据库中的数据导出为csv格式的文件 搜到了下边这个方法,但是我没实现功能,请各位指教.最好能有代码 public void ExportToCSV(Cursor c, String fileName) { int rowCount = 0; int colCount = 0; FileWriter fw; BufferedWriter bfw; File sdCardDir = Environment.getExternalStorageDirecto

c#-怎么用C#将数据库中的数据导出到txt中

问题描述 怎么用C#将数据库中的数据导出到txt中 我现在在sqlsever中有一个叫Phone的表,现在要用C#把它里面的数据导入到一个txt中. 求各位大大,给段代码让小弟学习一下~ 解决方案 http://www.jb51.net/article/35989.htm 解决方案二: C# 读取数据库,应该是没有什么问题的.具体要看你的数据库是什么! 将读到的数据写入文件,这个比较简单.只要注意写入的格式控制. 代码,要靠你自己写.只能给你思路! 解决方案三: 参考C#中从数据库导出至txt

将excel导入到一个dataset数据集中 如何删除其中我不想要的数据

问题描述 将excel导入到一个dataset数据集中如何删除其中我不想要的数据 解决方案 解决方案二:遍历dataset.Tables[0]这个,然后取出你想要的

机房收费系统的实现:VB中如何将MSHFlexGrid控件中的数据导出到Excel

机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系统,不过并没有涉及到这个功能,因此记录于此,于己,回顾反思,于大家,分享学习. 方法一:在根目录中事先建立空的Excel表格 1.在与VB工程同一根目录中建立将要导入数据的Excel表格: 2.在VB事件中写代码: Private Sub cmdExport_Click() Dim i As Int

机房收费系统——VB将MSHflexgrid控件中的数据导出为Excel

            在做机房收费系统的时候,许多窗体用到的一个功能,就是将从数据库中提取出来的数据导出到Excel中.   首先,引用Microsoft Excel 14.0 Object Library   然后,写代码     Public Sub OutDataToExcel(Flex As MSHFlexGrid) '导出至Excel Dim i As Integer Dim j As Integer Dim Line As Integer Dim outExcel As Excel