代码之家  ›  专栏  ›  技术社区  ›  senty

PhpSpreadsheet正在读取时将数字单元格转换为小数

  •  0
  • senty  · 技术社区  · 5 年前

    .0 数字,即如果单元格值为 123 ,它读作 123.0

      try {
            $inputFileType = IOFactory::identify($path);
    
            try {
                $reader = IOFactory::createReader($inputFileType);
                $reader->setReadDataOnly(true);
                $valuesSpreadsheet = $reader->load($path);
    
                try {
                    $spreadsheetArr = $valuesSpreadsheet->getActiveSheet()->toArray();
                    dd($spreadsheetArr);
                }
            }
      }
    

    所以输出就像

     $arr = ['A', 'B', 123.0]
    

    我想要达到的是

     $arr = ['A', 'B', '123']
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   Peter 4lbertyson    5 年前

    你能试试这样的吗:

    $valuesSpreadsheet->getActiveSheet()->getStyle('C:C')
        ->getNumberFormat()
        ->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT);