重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
把Excel文件导入mysql:
成都创新互联是一家集网站建设,宁乡企业网站建设,宁乡品牌网站建设,网站定制,宁乡网站建设报价,网络营销,网络优化,宁乡网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
打开excel文件,可用phpExcel开源的类
或者:
先把excel文件另存为csv格式,最好是utf8编码。
fgetcsv() — 从文件指针中读入一行并解析 CSV 字段,返回数组
导给你的数据包一般是两个文件,XXX.csv和XXX的文件夹。 把下面这短代码复制到记事本里,然后把记事本的格式txt修改为bat格式的,最后放在XXX文件夹中双击运行即可。 代码如下:(请复制,中间有空格的) ren *.tbi *.jpg 望采纳给分~
其实这个问题跟用什么语言导出csv文件没有关系。
Excel显示数字时,
若是数字大于12位,它会自动转化为科学计数法;
若是数字大于15位,它不只用于科学技术费表示,还会只保留高15位,其余位都变0。
解决这个问题:
只要把数字字段后面加上显示上看不见的字符便可,字符串前面或者结尾加上制表符"\t".
php 程序能够这样判断,
csv 数据本来就是文本格式,不需要那些header,直接输出文本就可以了
给你写了一段演示代码.
如果觉得还行,加点分.
?php
$filename = 'test.csv';
$fp = fopen($filename,'w');
if(!$fp){
echo "不能打开文件 $filename";
exit;
}
$data = array(
array(
'id'='1',
'cid'='2',
'name'='这是第一个开户名称',
'account'='3323423432432',
'bank'='建设银行' ,
),
array(
'id'='2',
'cid'='3',
'name'='这是第二个开户名称',
'account'='3323423432433',
'bank'='工商银行' ,
),
);
//我的编码是gbk,如果是utf-8,使用转码语句 mb_convert_encoding('申请ID','gb2312','UTF-8').',';
$csv_content = '';
$csv_content .= '申请ID,';
$csv_content .= '合同编号,';
$csv_content .= '开户名称,';
$csv_content .= '银行账号,';
$csv_content .= '开户行';
$csv_content .= "\n\r";
foreach ($data as $ditem){
//echo $ditem['id'];
$csv_content .= $ditem['id'].',';
$csv_content .= $ditem['cid'].',';
$csv_content .= $ditem['name'].',';
$csv_content .= $ditem['account'].',';
$csv_content .= $ditem['bank'];
$csv_content .= "\n\r";
}
if (fwrite($fp, $csv_content) === FALSE) {
echo "不能写入到文件 $filename";
exit;
}
fclose($fp);
?
?php
ob_start();
header("meta http-equiv=\"content-type\" content=\"text/html;charset=uft-8\"");
header("Content-Type: application/vnd.ms-excel");
header("Expires:0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("content-disposition: attachment;filename=文件名称");
$row = $db - ... ... # 这里可以进行数据库的操作,记住:ob_start();前不要有输出
?