php度取excel内容 并对其unicode编码转化成gb2312
2007-01-23 16:59
597 查看
------------------------------------------
Excel 类 V1.1
By Monkey
------------------------------------------
-----函数说明
读取Excel文件
function Read_Excel_File($ExcelFile,$Result)
$ExcelFile Excel文件名
$Result 返回的结果
函数返回值 正常返回0,否则返回错误信息
返回的值数组
$result[sheet名][行][列] 的值为相应Excel Cell的值
建立Excel文件
function Create_Excel_File($ExcelFile,$Data)
$ExcelFile Excel文件名
$Data Excel表格数据
请把函数写在PHP脚本的开头
例1:
<?
require "excel_class.php";
Read_Excel_File("Book1.xls",$return);
for ($i=0;$i<count($return[Sheet1]);$i++)
{
for ($j=0;$j<count($return[Sheet1][$i]);$j++)
{
echo $return[Sheet1][$i][$j]."|";
}
echo "<br>";
}
?>
例2:
<?
require "excel_class.php";
Read_Excel_File("Book1.xls",$return);
Create_Excel_File("ddd.xls",$return[Sheet1]);
?>
excel的读取类下载可用,取出的内容是"全"这种编码方式,为了将其转换成gb2312
function u2utf82gb($c){
$str="";
if ($c < 0x80) {
$str.=$c;
} else if ($c < 0x800) {
$str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x10000) {
$str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x200000) {
$str.=chr(0xF0 | $c>>18);
$str.=chr(0x80 | $c>>12 & 0x3F);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
return iconv('UTF-8', 'GB2312', $str);
}
function get_gb_str($str){
$str = preg_replace("|([0-9]{1,5})|", "/".u2utf82gb(//1)./"", $str);
$str = "/$str=/"$str/";";
eval($str);
return $str;
}
通过这两个函数可以达到目的, 注意:
preg_replace("|([0-9]{1,5})|", "/".u2utf82gb(//1)./"", $str);
此处的|([0-9]{1,5})| 视实际情况 有无分号 来确定
Excel 类 V1.1
By Monkey
------------------------------------------
-----函数说明
读取Excel文件
function Read_Excel_File($ExcelFile,$Result)
$ExcelFile Excel文件名
$Result 返回的结果
函数返回值 正常返回0,否则返回错误信息
返回的值数组
$result[sheet名][行][列] 的值为相应Excel Cell的值
建立Excel文件
function Create_Excel_File($ExcelFile,$Data)
$ExcelFile Excel文件名
$Data Excel表格数据
请把函数写在PHP脚本的开头
例1:
<?
require "excel_class.php";
Read_Excel_File("Book1.xls",$return);
for ($i=0;$i<count($return[Sheet1]);$i++)
{
for ($j=0;$j<count($return[Sheet1][$i]);$j++)
{
echo $return[Sheet1][$i][$j]."|";
}
echo "<br>";
}
?>
例2:
<?
require "excel_class.php";
Read_Excel_File("Book1.xls",$return);
Create_Excel_File("ddd.xls",$return[Sheet1]);
?>
excel的读取类下载可用,取出的内容是"全"这种编码方式,为了将其转换成gb2312
function u2utf82gb($c){
$str="";
if ($c < 0x80) {
$str.=$c;
} else if ($c < 0x800) {
$str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x10000) {
$str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x200000) {
$str.=chr(0xF0 | $c>>18);
$str.=chr(0x80 | $c>>12 & 0x3F);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
return iconv('UTF-8', 'GB2312', $str);
}
function get_gb_str($str){
$str = preg_replace("|([0-9]{1,5})|", "/".u2utf82gb(//1)./"", $str);
$str = "/$str=/"$str/";";
eval($str);
return $str;
}
通过这两个函数可以达到目的, 注意:
preg_replace("|([0-9]{1,5})|", "/".u2utf82gb(//1)./"", $str);
此处的|([0-9]{1,5})| 视实际情况 有无分号 来确定
相关文章推荐
- 用php实现gb2312和unicode间的编码转换
- 字符编码简介:ASCII,Unicode,UTF-8,GB2312及Unicode和UTF-8如何转化
- Python处理unicode编码的txt文件(Python中文处理)——解决to_excel()和to_csv()导出文件内容为空的问题
- PHP实现gb2312、UTF-8等字符和unicode间的编码转换及PHP版unescape
- urlencode 在utf-8页面转化成gb2312的内容,urlencode 在utf-8和gb2312页面转化的编码不一样
- PHP解码unicode编码的中文字符代码分享
- PHP解码unicode编码的中文字符代码分享
- 字符串转化为unicode编码
- [置顶] 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- js和java中字符和unicode编码的转化
- 怎样使用C#将unicode的编码转换为gb2312
- ASCII、GB2312、GBK、Unicode、UTF-8、UTF-16 编码方式比较分析
- php 读取excel中的内容到mysql 数据库
- 详解ASCII GB2312(BIG5) GBK GB18030 Unicode UTF-8 编码历史与定义
- 关于PHP编码转化的问题
- php读取和保存base64编码的图片内容
- 文字编码ASCII,GB2312,GBK,GB18030,UNICODE,UCS,UTF的解析
- 内容编码错误 php ob_gzhandler firefox提示 内容编码错误 解决方案
- 字符集编码详解【ASCII 、GB2312、GBK、GB18030、unicode、UTF-8】(转)
- 关于编码:ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS ...