Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1022
  • Last Modified:

PEAR - Spreadsheet Excel Writer - File error

I query the database and retrieve the following array:

Array
(
      [0] => Array
      (
            [id] => 5689
            [item] => YUIOPD
            [size] => 8
            [cost] => $99.99
      )

      [1] => Array
      (
            [id] => 7664
            [item] => TYJKIP
            [size] => 12
            [cost] => $199.99
      )

      [2] => Array
      (
            [id] => 2113
            [item] => HYTIUP
            [size] => 4
            [cost] => $79.99
      )
)

I'm trying to enter that data into an excel spreadsheet using the Spreadsheet Excel Writer PEAR pkg. But, I keep getting: File error: data may be lost, and only the ids are in the spreadsheet, each on its own row.  I'm trying to figure out how to put each element into its own row for each one.

Right now, the code looks like this:
$excel = new Spreadsheet_Excel_Writer('textexcel.xls');
$sheet =& $excel->addWorksheet('worksheet 1');
$i = 0;
  foreach($res as $data) {
		foreach($data as $k => $v) {
				$sheet->write($i, $k, $v);
		}
		$i++;
  }
$excel->close();

Open in new window

0
n00b0101
Asked:
n00b0101
1 Solution
 
MacAnthonyCommented:
I think the issue is you are using the associative array name for the column. Try this.
$excel = new Spreadsheet_Excel_Writer('textexcel.xls');
$sheet =& $excel->addWorksheet('worksheet 1');
$row = 0;
  foreach($res as $data) {
                $col = 0;
                foreach($data as $v) {
                                $sheet->write($row, $col, $v);
                                $col++;
                }
                $row++;
  }
$excel->close();

Open in new window

0
 
n00b0101Author Commented:
Thanks so much!  
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now