转化Excel表格为php配置文件
<?php
//建立reader对象 ,分别用两个不同的类对象读取2007和2003版本的excel文件
require("PHPExcel/Reader/Excel2007.php");
$filePath = "text.xlsx";
$PHPReader = new PHPExcel_Reader_Excel2007();
if( ! $PHPReader->canRead($filePath))
{
$PHPReader = new PHPExcel_Reader_Excel2007();
if( ! $PHPReader->canRead($filePath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filePath); //读取文件
$currentSheet = $PHPExcel->getSheet(0); //读取第一个工作簿
$allColumn = $currentSheet->getHighestColumn(); // 所有列数
$allRow = $currentSheet->getHighestRow(); // 所有行数
$data = array(); //下面是读取想要获取的列的内容
for ($rowIndex = 2; $rowIndex <= $allRow; $rowIndex++)
{
$data[$cell = $currentSheet->getCell('A'.$rowIndex)->getValue()] = $currentSheet->getCell('B'.$rowIndex)->getValue();
}
var_dump($data);
foreach($data as $key=>$val){
$str = var_export($val,true);
file_put_contents("cross_yuanzheng_excel.php", "\r\n".'$cross_yuanzheng_arr['.$key.'] = '.$str.';',FILE_APPEND);
}
// $data = var_export($data,true);
?>
以下为转conf配置文件的示例
<?php
//从策划excel表中获得物品id、名称、type,导入前,需先删除非数据部分的文字说明和列标题,文件名不能包含汉字,删除id=99999的无用物品,用类型字段排序后,删除末尾的空白行,再开始导入
require_once( './include/class/Classes/PHPExcel/IOFactory.php'); //$filePath = $path.$_GET['f'];//从参数获得文件名
//$filePath = "PHPExcel.php";//从参数获得文件名 //$path = "E:\\susen\\myjob\\ddt\\";//固定文件目录
$filePath = 'alrale_languages.xlsx';//从参数获得文件名
$content_cn_str = null;
$content_vn_str = null;
$PHPExcel = PHPExcel_IOFactory::load($filePath);
$currentSheet = $PHPExcel->getSheet(0);
$allColumn = $currentSheet->getHighestColumn();
$allRow = $currentSheet->getHighestRow();
$str_arr = array(); for( $currentRow = 2 ; $currentRow <= $allRow ; $currentRow++) {
$row_arr = array();
for ($currentColumn = 'A'; ord($currentColumn) <= ord($allColumn); $currentColumn++) {
$address = $currentColumn . $currentRow;
$string = $currentSheet->getCell($address)->getValue();
if ($string === '')
break;
switch ($currentColumn) {
case "A":
$flag = "catalog";
break;
case "B":
$flag = "file";
break;
case "C":
$flag = "name";
break;
case "D":
$flag = "cn";
break;
case "E":
$flag = "vn"; break; } $row_arr[$flag] = "$string"; } //一级目录 $new_cn_dir = $row_arr['catalog'].'/cn/'; $new_vn_dir = $row_arr['catalog'].'/vn/'; if(!is_dir($new_cn_dir) || !is_dir($new_cn_dir)){ mkdir(iconv("UTF-8", "GBK", $new_cn_dir),0777,true); mkdir(iconv("UTF-8", "GBK", $new_vn_dir),0777,true); } $new_cn_file = $row_arr['catalog'].'/cn/'.$row_arr['file'].'.conf'; $new_vn_file = $row_arr['catalog'].'/vn/'.$row_arr['file'].'.conf'; if(file_exists($new_cn_file) || file_exists($new_vn_file)){ unlink($new_cn_file ); unlink($new_vn_file ); } //$content_str = null; $content_cn_str .= "$row_arr[name]=$row_arr[cn]\n"; $content_vn_str .= "$row_arr[name]=$row_arr[vn]\n";} file_put_contents($new_cn_file,$content_cn_str,FILE_APPEND); file_put_contents($new_vn_file,$content_vn_str,FILE_APPEND);echo "44:ok!";
转化Excel表格为php配置文件的更多相关文章
- laravel 5.4 导出excel表格
1.在laravel根目录下面找到一个composer.json文件 打开并在require下面加上一句话,如图所示: 注:以后这个excel的版本号可能还会修改 2.执行 composer inst ...
- 【游戏开发】Excel表格批量转换成CSV的小工具
一.前言 在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求.这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就 ...
- php网址显示excel表格内容
/** * excel表格内容在网页中显示 * * 首先需要下载PHPExcel 工具包 * 网址: http://phpexcel.codeplex.com/releases/view/119187 ...
- DataTable数据与Excel表格的相互转换
using Excel = Microsoft.Office.Interop.Excel; private static Excel.Application m_xlApp = null; /// & ...
- 用sqlserver处理excel表格
本来最近在研究微信公众平台的,老大临时交我个任务,把excel表格里的数据导入sql数据库,我想这so easy嘛. 没想都在上面消磨了两天... 把情况介绍下:在数据库中有如下这样结构的表(A表) ...
- 【游戏开发】Excel表格批量转换成lua的转表工具
一.简介 在上篇博客<[游戏开发]Excel表格批量转换成CSV的小工具> 中,我们介绍了如何将策划提供的Excel表格转换为轻便的CSV文件供开发人员使用.实际在Unity开发中,很多游 ...
- Java使用POI解析Excel表格
概述 Excel表格是常用的数据存储工具,项目中经常会遇到导入Excel和导出Excel的功能. 常见的Excel格式有xls和xlsx.07版本以后主要以基于XML的压缩格式作为默认文件格式xlsx ...
- java用poi读取Excel表格中的数据
Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI 3.9稳定版.Apache POI 代 ...
- node.js 操作excel 表格与XML文件常用的npm
在日常工作中会经常用到把一些excel表格文件转化为json,xml,js等格式的文件,下面就是我在日常中用到的这些npm. 1.node-xlsx: node-xlsx可以把excel文件转化为上面 ...
随机推荐
- Eclipse SVN 使用教程
Eclipse SVN 使用教程 做好以上的准备后打开Eclipse编译器,点击编译器右上角的Open Perspective 打开SVN资源库界面,新建一个资源库 选择资源库的位置,这里我们就用刚才 ...
- ZooKeeper安装,部署
实验环境 192.168.1.10 Zookeeper1:2181, Zookeeper2:2182 192.168.1.11 ZooKeeper3:2181 依赖环境 JDK1.7 安装,配置 1. ...
- CentOS7安装OpenStack(Rocky版)-08.启动一个虚拟机实例
安装完openstack的必要组件keystone,nova,glance,neutron以后就可以使用openstack命令创建一台云虚拟机了 ------------------- 完美的分割线 ...
- 和菜鸟一起学linux内核源码之基础准备篇
来源:http://blog.csdn.net/eastmoon502136/article/details/8711104 推荐阅读:linux内核源码最初版linux内核源代码,简单易懂,适合初学 ...
- (3)re模块(正则表达式模块)
什么是正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 r ...
- test20180828
所有试题限制都为512MB,1Sec 总分230. 试题1 新的开始 [题目描述] 发展采矿业当然首先得有矿井, 小FF花了上次探险获得的千分之一的财富请人在岛上挖了n口矿井, 但他似乎忘记考虑的矿井 ...
- gem install没有反应 解决办法
在虚拟机上执行gem install redis 没有反应: 百度方法如下: #移除官方镜像,增加淘宝镜像 gem sources --add https://ruby.taobao.org/ --r ...
- Django 实现CRM 问卷调查功能组件
目录结构: 母版 {% load staticfiles %} <!DOCTYPE html> <html lang="zh-CN"> <head&g ...
- C# 日期格式化的中的(/)正斜杠的问题(与操作系统设置有关)
Console.WriteLine(DateTime.Now.ToString("yyyy/MM/dd" )); //这行代码, 如果你在系统日期格式默认的情况下输出 2013/0 ...
- priority_queue使用方法详解
1.介绍 优先队列是一种容器,它可以使得其第一个元素始终是它包含的最大元素,具体实现原理是堆排序. 它支持以下操作: empty() size() top() push() pop() 在使用prio ...