Jump to content
php.lv forumi

mysql.php> xls(excel)


edi

Recommended Posts

Garumzīmes nerādīs, ja nebūs faila kodējums utf-8 without BOM un norādīts meta tags ar content encoding utf-8.

header("Content-charset=utf-8 without BOM"); 
<meta http-equiv="Content-Type" content="encoding=utf-8" />

šitā?

un kur man to likt? :D

Link to comment
Share on other sites

  • Replies 41
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Par to headeri - nē, tā nē. Faila kodējumu vari uzstādīt, teiksim, ar notepad++ (skatīt pielikumu)

 

Nu un kur tad meta tagus liek html dokumentā? Uzprasi gūglei.

nē, tas ir galīgi garām :D

ar notepad++ es to nevaru darīt. man vajag, lai lietotājs nospiežot pogu saņem jau gatavu .xls failu ar normālu kodējumu :)

 

kaut kā tā vajadzētu būt gala rezultātam :)

 

afa0w7lesiqz43dvlcf.png

Link to comment
Share on other sites

Sorry, pārpratu. Iespējams, ka ekselis nesaprot, ka viņam tas fails jāinterpretē kā UTF-8..

 

Vari paprovēt pakonvertēt to tekstu ko raksti iekšā xls failā ar funkciju: mb_convert_encoding() uz citiem kodējumiem, teiksim, windows-1257

Edited by briedis
Link to comment
Share on other sites

Sorry, pārpratu. Iespējams, ka ekselis nesaprot, ka viņam tas fails jāinterpretē kā UTF-8..

 

Vari paprovēt pakonvertēt to tekstu ko raksti iekšā xls failā ar funkciju: mb_convert_encoding() uz citiem kodējumiem, teiksim, windows-1257

 

$lines = array();
$sql = "SELECT col1, col2, col3 FROM `tabula`";
$res = mysql_query($sql)or die(mysql_error());
while($row = mysql_fetch_array($res, MYSQL_NUM)){
       $lines[] = implode("\t", array_values($row));
}
file_put_contents('fails.xls', implode("\n", $lines));

kā piemēram mārča piemērā var pirms tabulas izvades ielikt tekstu un bigās? un vēl lai tas viss izietu cauri šitam mb_convert_encoding() :D

EDIT: vispār pareizāk būtu tā. kā izvadīt tekstu tā lai viņs būtu pa vidu un to ko izvada no db būtu iekšā tabulā ar melnām līnijām

Edited by edi
Link to comment
Share on other sites

vispār šim topikam ir maz sakara ar db. drīzāk gan tā ir exceļa automatizēšana

varbūt, ka šajā linkā atradīsi kko noderīgu: http://devzone.zend.com/article/3336

tur ir piemēri, gan kā lasīt excel failu, gan kā tajā rakstīt, kā arī formatēt šūnas/rindiņas. lasi tik dokumentāciju un taisi augšā...

 

good luck

Link to comment
Share on other sites

Sorry, pārpratu. Iespējams, ka ekselis nesaprot, ka viņam tas fails jāinterpretē kā UTF-8..

 

Vari paprovēt pakonvertēt to tekstu ko raksti iekšā xls failā ar funkciju: mb_convert_encoding() uz citiem kodējumiem, teiksim, windows-1257

<?xml version="1.0" encoding="UTF-8"?>

 

palīdzēja :)

Link to comment
Share on other sites

			$lines = array();
$sql = "SELECT name, ref, date FROM `refer`";
$res = mysql_query($sql)or die(mysql_error());
while($row = mysql_fetch_array($res, MYSQL_NUM))
$lines[]='<?xml version="1.0" encoding="UTF-8"?><html>
<head>
<table border="1">
<tr>
<th width="300">name</th>
<th width="300">ref</th>
<th width="300">date</th>
</tr>';
{
		$lines[] = implode("\t", array_values($row));
}
$lines[]= '</tr></table> ';
$link = file_put_contents('files/atskaite_'.date("Y-m-d_H.m.ms").'.xls', implode("\n", $
?>

kā pareizi uzrakstīt? un kur jāliek tie <td> :D

rāda

Warning: array_values() expects parameter 1 to be array, boolean given
Warning: implode() [function.implode]: Invalid arguments passed

Edited by edi
Link to comment
Share on other sites

echo '<table border="1">';
echo '<tr>';
echo '<th width="20">viens</th>';
echo '<th width="80">divi</th>';
echo '<th width="600">trīs</th>';
$query	=	mysql_query ( "SELECT * FROM `refer` WHERE week = '49'ORDER BY `date` DESC" );
while ( $row	=	mysql_fetch_array ( $query ) )
{
echo "<tr><td></td><td>".$row['name']."<br></td><td>".$row['refer']."</td></tr>";
}
echo '</tr></table>';

 

kā tādu implode var? :)

Edited by edi
Link to comment
Share on other sites

Tev jau nez cik piemēri ir doti.

Ko tad tavuprāt šeit ar $lines darīja?

while($row = mysql_fetch_array($res, MYSQL_NUM)){
       $lines[] = implode("\t", array_values($row));
}

un kur tādā gadījumā man likt <td> :) ?

 

un ko šis te dara ? "\t"

Edited by edi
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...