php处理excel过长表格

问题背景:

需要用php生成一个三百多列的excel表格,已给出表格模板。

处理步骤:
  1. 把表格的列表头导出成txt文本 ( 转换地址)。

  2. 把文本字符串通过explode()函数切割出列名。

3.把生成的代码写入到新建文件中。

 $str = 'FBillHead(SAL_RETURNSTOCK) FBillTypeID FBillTypeID#Name    FBillNo FDate   FSaleOrgId  FSaleOrgId#Name FRetcustId  FRetcustId#Name FSaledeptid FSaledeptid#Name    FReturnReason   FReturnReason#Name  FHeadLocId  FHeadLocId#Name FCorrespondOrgId    FCorrespondOrgId#Name   FTransferBizType    FTransferBizType#Name   FSaleGroupId    FSaleGroupId#Name   FSalesManId FSalesManId#Name    FStockOrgId FStockOrgId#Name    FStockDeptId    FStockDeptId#Name   FStockerGroupId FStockerGroupId#Name    FStockerId  FStockerId#Name FHeadNote   FReceiveCustId  FReceiveCustId#Name FReceiveAddress FSettleCustId   FSettleCustId#Name  FReceiveCusContact  FReceiveCusContact#Name FPayCustId  FPayCustId#Name FOwnerTypeIdHead    FOwnerIdHead    FOwnerIdHead#Name   FScanBox    FCDateOffsetUnit    FCDateOffsetValue   FIsTotalServiceOrCost   F_YJ_Base   F_YJ_Base#Name  F_YJ_Check  F_YJ_BarCode    FSHOPNUMBER FGYDATE *Split*1    SubHeadEntity   FSettleCurrId   FSettleCurrId#Name  FThirdBillNo    FThirdBillId    FThirdSrcType   FSettleOrgId    FSettleOrgId#Name   FSettleTypeId   FSettleTypeId#Name  FChageCondition FChageCondition#Name    FPriceListId    FPriceListId#Name   FDiscountListId FDiscountListId#Name    FLocalCurrId    FLocalCurrId#Name   FExchangeTypeId FExchangeTypeId#Name    FExchangeRate   FBuyerNick  FReceiverAddress    FReceiverName   FReceiverMobile FReceiverCountry    FReceiverState  FReceiverCity   FReceiverDistrict   FReceiverPhone  *Split*2    FEntity F_YJ_SKU    F_YJ_SKU#Name   FRowType    FMapId  FMapId#Name FMaterialId FMaterialId#Name    FAuxpropId#FF100002 FAuxpropId#FF100002#Name    FAuxpropId#FF100003 FAuxpropId#FF100003#Name    FAuxpropId#FF100001 FAuxpropId#FF100001#Name    FUnitID FUnitID#Name    FInventoryQty   FRealQty    FParentMatId    FParentMatId#Name   F_YJ_CodeQty    FPrice  FTaxPrice   FIsFree FTaxCombination FTaxCombination#Name    FEntryTaxRate   FBOMId  FBOMId#Name FReturnType FReturnType#Name    FOwnerTypeId    FOwnerId    FOwnerId#Name   FProduceDate    FExpiryDate FStockId    FStockId#Name   FStockstatusId  FStockstatusId#Name FDeliveryDate   FMtoNo  FNote   FDiscountRate   FPriceDiscount  FAuxUnitQty FExtAuxUnitId   FExtAuxUnitId#Name  FExtAuxUnitQty  FSalCostPrice   FISCONSUMESUM   FLot    FLot#Text   FSalUnitID  FSalUnitID#Name FSalUnitQty FSalBaseQty FPriceBaseQty   FProjectNo  FQualifyType    FEOwnerSupplierId   FEOwnerSupplierId#Name  FIsOverLegalOrg FESettleCustomerId  FESettleCustomerId#Name FSOEntryId  FThirdEntryId   FPriceListEntry FPriceListEntry#Name    FARNOTJOINQTY   F_YJ_Text   FIsReturnCheck  FETHIRDBILLID   FETHIRDBILLNO   *Split*3    FTaxDetailSubEntity FTaxRate    *Split*4    FSerialSubEntity    FSerialNo   FSerialNote
*基本信息(序号)   *(基本信息)单据类型#编码  (基本信息)单据类型#名称   (基本信息)单据编号  *(基本信息)日期   *(基本信息)销售组织#编码  (基本信息)销售组织#名称   *(基本信息)退货客户#编码  (基本信息)退货客户#名称   (基本信息)销售部门#编码   (基本信息)销售部门#名称   (基本信息)退货原因#编码   (基本信息)退货原因#名称   (基本信息)交货地点#编码   (基本信息)交货地点#名称   (基本信息)对应组织#编码   (基本信息)对应组织#名称   (基本信息)跨组织业务类型#编码    (基本信息)跨组织业务类型#名称    (基本信息)销售组#编码    (基本信息)销售组#名称    (基本信息)销售员#编码    (基本信息)销售员#名称    *(基本信息)库存组织#编码  (基本信息)库存组织#名称   (基本信息)库存部门#编码   (基本信息)库存部门#名称   (基本信息)库存组#编码    (基本信息)库存组#名称    (基本信息)仓管员#编码    (基本信息)仓管员#名称    (基本信息)备注    (基本信息)收货方#编码    (基本信息)收货方#名称    (基本信息)收货方地址 (基本信息)结算方#编码    (基本信息)结算方#名称    (基本信息)收货方联系人#编码 (基本信息)收货方联系人#名称 (基本信息)付款方#编码    (基本信息)付款方#名称    (基本信息)货主类型  (基本信息)货主#编码 (基本信息)货主#名称 (基本信息)序列号上传 (基本信息)创建日期偏移单位  (基本信息)创建日期偏移量   (基本信息)整单服务标识    (基本信息)仓库#编码 (基本信息)仓库#名称 (基本信息)是否扫描  (基本信息)条码    (基本信息)网店编码  (基本信息)管易退货日期    间隔列 *财务信息(序号)   *(财务信息)结算币别#编码  (财务信息)结算币别#名称   (财务信息)管易单据编号    (财务信息)第三方单据平台单号 (财务信息)第三方系统来源   *(财务信息)结算组织#编码  (财务信息)结算组织#名称   (财务信息)结算方式#编码   (财务信息)结算方式#名称   (财务信息)收款条件#编码   (财务信息)收款条件#名称   (财务信息)价目表#编码    (财务信息)价目表#名称    (财务信息)折扣表#编码    (财务信息)折扣表#名称    (财务信息)本位币#编码    (财务信息)本位币#名称    (财务信息)汇率类型#编码   (财务信息)汇率类型#名称   (财务信息)汇率    (财务信息)会员名称  (财务信息)收货人地址 (财务信息)收货人   (财务信息)收货人手机 (财务信息)收货人国家 (财务信息)收货人省份 (财务信息)收货人城市 (财务信息)收货人地区 (财务信息)收货人电话 间隔列 *明细信息(序号)   *(明细信息)商品编码#编码  (明细信息)商品编码#名称   (明细信息)产品类型  (明细信息)客户物料编码#编码 (明细信息)客户物料编码#名称 *(明细信息)物料编码#编码  (明细信息)物料编码#名称   (明细信息)杯型#编码 (明细信息)杯型#名称(Null)   (明细信息)规格#编码 (明细信息)规格#名称(Null)   (明细信息)颜色#编码 (明细信息)颜色#名称(Null)   *(明细信息)库存单位#编码  (明细信息)库存单位#名称   (明细信息)当前库存  (明细信息)实退数量  (明细信息)父项产品#编码   (明细信息)父项产品#名称   (明细信息)扫码数量  (明细信息)单价    (明细信息)含税单价  (明细信息)是否赠品  (明细信息)税组合#编码    (明细信息)税组合#名称    (明细信息)税率%   (明细信息)BOM版本#编码  (明细信息)BOM版本#名称  *(明细信息)退货类型#编码  (明细信息)退货类型#名称   *(明细信息)货主类型 *(明细信息)货主#编码    (明细信息)货主#名称 (明细信息)生产日期  (明细信息)有效期至  (明细信息)仓库#编码 (明细信息)仓库#名称 (明细信息)库存状态#编码   (明细信息)库存状态#名称   *(明细信息)退货日期 (明细信息)计划跟踪号 (明细信息)备注    (明细信息)折扣率%  (明细信息)单价折扣  (明细信息)库存辅单位数量   (明细信息)辅单位#编码    (明细信息)辅单位#名称    (明细信息)实退数量(辅单位) (明细信息)销售成本价 (明细信息)消耗汇总  (明细信息)批号#主档 (明细信息)批号#手工 (明细信息)销售单位#编码   (明细信息)销售单位#名称   (明细信息)销售数量  (明细信息)销售基本数量    (明细信息)计价基本数量    (明细信息)项目编号  (明细信息)质量类型  (明细信息)明细货主供应商#编码    (明细信息)明细货主供应商#名称    (明细信息)组织间结算跨法人标识    (明细信息)明细结算组织客户#编码   (明细信息)明细结算组织客户#名称   (明细信息)销售订单EntryId   (明细信息)管易订单单号    (明细信息)行价目表#编码   (明细信息)行价目表#名称   (明细信息) 未关联应收数量(计价单位)    (明细信息)明细单据编号    (明细信息)退货检验  (明细信息)第三方单据ID   (明细信息)第三方单据编号   间隔列 *税务明细(序号)   (税务明细)税率%   间隔列 *序列号子单据体(序号)    (序列号子单据体)序列号    (序列号子单据体)备注
';
        $arr =  explode('   ',$str);


        $myfile = fopen("/Users/computer/Downloads/new.txt", "w") ;


        $n = 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ';
        $arr1 =  explode(' ',$n);

        $t = [];
        $t[] =  '' ;
        $t[] =  'A' ;
        $t[] =  'B' ;
        $t[] =  'C';
        $t[] =  'D';
        $t[] =  'E';
        $t[] =  'F';
        $t[] =  'G';


        $new[] = '*基本信息(序号)';

        foreach ($arr as $k => $v ){
            if($k>= '167'){

                $new[] = $v;
            }


        }


//
//        foreach ($arr as $k => $v ){
//            if($k< '166'){
//
//                $new[] = $v;
//            }
//
//        }
//        $new[] = 'FSerialNote';


        $d = "'";

        $j = 0;

        foreach ($new as $k => $v ){




//           $txt = "->setCellValueExplicit(".$d.$t[$j].$arr1[$k]."1".$d.", ".$d.$v.$d.",DataType::TYPE_STRING)\n";
            $txt = "->setCellValueExplicit(".$d.$t[$j].$arr1[$k].$d.".".'$k'.", ".$d.''.$d.",DataType::TYPE_STRING)\n";

           fwrite($myfile, $txt);

            if(($k+1)%26 == 0 ){

                $j++;
            }

       }

        fclose($myfile);

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容