189 8069 5689

php上传excel数据 php导出大量数据到excel

怎么使用php把表格中的数据导入到excel中

下面是我写的一个PHP导出数据到CSV问价的函数,你到时候直接调用就行了

专注于为中小企业提供网站设计、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业沾益免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

/**

* 导出CSV文件

* @param string $fileName 文件名字

* @param string|array $data 导出数据,csv格式的字符串|数值数组

* @param string $to_encoding 目标转换编码

* @param string $from_encoding 当前编码

*/

function exportCSV($fileName = '', $data = '', $to_encoding = 'gb2312', $from_encoding = 'utf-8') {

$fileName = empty($fileName) ? date('YmdHis') : $fileName;

// 文件标签

Header("Content-type: application/octet-stream");

header("Content-type: application/vnd.ms-excel; charset=$from_encoding");

Header("Content-Disposition: attachment; filename=$fileName.csv");

$str = '';

if($data) {

if(is_array($data)) {

foreach ($data as $v) {

if(is_array($v)) {

foreach ($v as $vo) {

$str .= (is_numeric($vo) ? "'".$vo : $vo."").",";

}

$str = trim($str, ",")."\r\n";

} else {

$str .= (is_numeric($v) ? "'".$v : $v).",";

}

}

$str = trim($str, ",")."\r\n";

} else {

$str = $data;

}

}

echo mb_convert_encoding($str, "gb2312", "utf-8");

exit;

}

php如何实现上传导入excel数据?

难道你导入的时候不是选择的本地 文件吗?input框获取之后 提交过去就可以导入了啊 phpexcel中有例子的啊 可以看看简单的嘛 基本上 按那个例子改点东西就可以用了啊

php怎么给excel导入数据

如果是将数据导出到excel,应该是用vba方便点。

如果非要用php,请参考:

Header( "Content-type: application/octet-stream ");

Header( "Accept-Ranges: bytes ");

Header( "Content-type:application/vnd.ms-excel ");

Header( "Content-Disposition:attachment;filename=test.xls ");

$con = mysql_connect("localhost","root","123456");

mysql_select_db("db_test");

mysql_query('set names utf8');

$sql = "select id,FirstName,LastName,Age,Hometown,Job from user";

$result = mysql_query($sql,$con);

echo "id\tFirstName\tLastName\tAge\tHometown\tJob";

while ($rs=mysql_fetch_array($result)){

echo "\n";

echo $rs['id']."\t".$rs['FirstName']."\t".$rs['LastName']."\t".$rs['Age']."\t".$rs['Hometown']."\t".$rs['Job'];

}

如何用php实现上传excel

第一,在前台html页面进行上传文件:如:

复制代码代码如下:

form method="post" action="php文件"enctype="multipart/form-data"

h3导入Excel表:/h3input type="file" name="file_stu" /

input type="submit" value="导入"/

/form

第二,在对应的php文件进行文件的处理

复制代码代码如下:

if (! empty ( $_FILES ['file_stu'] ['name'] ))

{

$tmp_file = $_FILES ['file_stu'] ['tmp_name'];

$file_types = explode ( ".", $_FILES ['file_stu']['name'] );

$file_type = $file_types [count ( $file_types ) - 1];

/*判别是不是.xls文件,判别是不是excel文件*/

if (strtolower ( $file_type ) !="xls")

{

$this-error ( '不是Excel文件,重新上传' );

}

/*设置上传路径*/

$savePath = SITE_PATH . '/public/upfile/Excel/';

/*以时间来命名上传的文件*/

$str = date ( 'Ymdhis' );

$file_name = $str . "." . $file_type;

/*是否上传成功*/

if (! copy ( $tmp_file, $savePath . $file_name ))

{

$this-error ( '上传失败' );

}

/*

*对上传的Excel数据进行处理生成编程数据,这个函数会在下面第三步的ExcelToArray类中

注意:这里调用执行了第三步类里面的read函数,把Excel转化为数组并返回给$res,再进行数据库写入

*/

$res = Service ( 'ExcelToArray' )-read ( $savePath . $file_name );

/*

重要代码解决Thinkphp M、D方法不能调用的问题

如果在thinkphp中遇到M 、D方法失效时就加入下面一句代码

*/

//spl_autoload_register ( array ('Think', 'autoload' ) );

/*对生成的数组进行数据库的写入*/

foreach ( $res as $k = $v )

{

if ($k != 0)

{

$data ['uid'] = $v[0];

$data ['password']= sha1 ( '111111' );

$data ['email'] =$v [1];

$data ['uname'] = $v [3];

$data ['institute'] = $v [4];

$result = M ( 'user' )-add( $data );

if (! $result)

{

$this-error ( '导入数据库失败' );

}

}

}

}

第三:ExcelToArrary类,用来引用phpExcel并处理Excel数据的

复制代码代码如下:

class ExcelToArrary extends Service{

public function __construct() {

/*导入phpExcel核心类 注意:你的路径跟我不一样就不能直接复制*/

include_once('./Excel/PHPExcel.php');

}

/**

* 读取excel $filename 路径文件名$encode 返回数据的编码默认为utf8

*以下基本都不要修改

*/

public function read($filename,$encode='utf-8'){

$objReader = PHPExcel_IOFactory::createReader('Excel5');

$objReader-setReadDataOnly(true);

$objPHPExcel = $objReader-load($filename);

$objWorksheet = $objPHPExcel-getActiveSheet();

$highestRow =$objWorksheet-getHighestRow();

$highestColumn = $objWorksheet-getHighestColumn();

$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

$excelData = array();

for($row = 1; $row = $highestRow; $row++) {

for ($col = 0; $col $highestColumnIndex;$col++) {

$excelData[$row][] =(string)$objWorksheet-getCellByColumnAndRow($col,$row)-getValue();

}

}

return $excelData;

}

}


文章标题:php上传excel数据 php导出大量数据到excel
文章源于:http://cdxtjz.cn/article/hgigsj.html

其他资讯