i just installed the latest spreadsheet_excel_writer (and OLE) and have it working ok, but i just recently came to a strange problem.
basically, after adding more columns to a workbook, now i get very, very slow response when opening the workbook, either saved to my desktop or right from the web. like 20-30 seconds of sitting before it opens. when opening from the desktop, i've even gotten errors that my workbook has errors, but i don't see anything wrong with it. i haven't changed the code beyond adding new columns and i haven't seen these problems before.
this is my code:
<?php
// start session
session_start();
// check for active session
if (!$_SESSION['contact_id'])
{
header("Location: index.php?timeout=Y"); die();
}
// check for level 3 user
if ($_SESSION['userlevel_id'] < 3)
{
header("Location: main_menu.php"); die();
}
// check for query
if (!$_SESSION['sql'])
{
header("Location: main_menu.php"); die();
}
// connect to database
require_once 'db_connect.php' ;
require_once '../../pear/Spreadsheet/Excel/Writer.php';
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// Create bold format
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
// sending HTTP headers
$workbook->send('HYS_data.xls');
// Creating a worksheet
$worksheet =& $workbook->addWorksheet();
// sql as variable
$sql = $_SESSION['sql'];
// strip all \ from sql
$sql = stripslashes($sql);
// process query
$queryexe = $db->query($sql);
// The header row
$worksheet->write(0, 0, "First Name", $format_bold);
$worksheet->write(0, 1, "Last Name", $format_bold);
$worksheet->write(0, 2, "Address", $format_bold);
$worksheet->write(0, 3, "Address 2", $format_bold);
$worksheet->write(0, 4, "City", $format_bold);
$worksheet->write(0, 5, "State", $format_bold);
$worksheet->write(0, 6, "Zip", $format_bold);
$worksheet->write(0, 7, "Country", $format_bold);
$worksheet->write(0, 8, "CA Region", $format_bold);
$worksheet->write(0, 9, "Phone", $format_bold);
$worksheet->write(0, 10, "Ext", $format_bold);
$worksheet->write(0, 11, "Cell", $format_bold);
$worksheet->write(0, 12, "Email", $format_bold);
$worksheet->write(0, 13, "Empowered", $format_bold);
$worksheet->write(0, 14, "Notes", $format_bold);
$worksheet->write(0, 15, "Subscribed Main List", $format_bold);
$worksheet->write(0, 16, "Subscribed FM List", $format_bold);
$worksheet->write(0, 17, "Subscribed CH List", $format_bold);
$worksheet->write(0, 18, "Skills", $format_bold);
$worksheet->write(0, 19, "How Hear of HYS", $format_bold);
$i=1;
while ($row = $queryexe->fetchRow ()) {
$worksheet->write($i, 0, "$row[1]");
$worksheet->write($i, 1, "$row[2]");
$worksheet->write($i, 2, "$row[3]");
$worksheet->write($i, 3, "$row[4]");
$worksheet->write($i, 4, "$row[5]");
$worksheet->write($i, 5, "$row[6]");
$worksheet->write($i, 6, "$row[7]");
$worksheet->write($i, 7, "$row[8]");
$worksheet->write($i, 8, "$row[33]");
$worksheet->write($i, 9, "$row[9]");
$worksheet->write($i, 10, "$row[10]");
$worksheet->write($i, 11, "$row[11]");
$worksheet->write($i, 12, "$row[12]");
$worksheet->write($i, 13, "$row[14]");
$worksheet->write($i, 14, "$row[20]");
$worksheet->write($i, 15, "$row[23]");
$worksheet->write($i, 16, "$row[27]");
$worksheet->write($i, 17, "$row[28]");
$worksheet->write($i, 18, "$row[24]");
$worksheet->write($i, 19, "$row[25]");
$i++;
}
// send the file
$workbook->close();
?>
here's an example i sometimes get when opening the file from my desktop:
Microsoft Office Excel File Repair Log
Errors were detected in file 'C:\Documents and Settings\Administrator\Desktop\HYS_data.xls'
The following is a list of repairs:
Damage to the file was so extensive that repairs were not possible. Excel attempted to recover your formulas and values, but some data may have been lost or corrupted.
And sometimes when I call this page, I get a server error page! Error 500 I think it was. 😕