Jump to content
php.lv forumi

mysql.php> xls(excel)


Recommended Posts

Posted

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

  • Replies 41
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted

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.

post-799-125957571285_thumb.jpg

Posted

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

Posted (edited)

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
Posted (edited)

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
Posted

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

Posted

Nevajag nemaz Pear, lai saliktu borderus un mazliet nostilizētu. Izvadi vienkārši html tabulu tā vietā, kas tev tur tagad ir. Excel'veidīgie to diezgan labi saprot.

Posted

Nevajag nemaz Pear, lai saliktu borderus un mazliet nostilizētu. Izvadi vienkārši html tabulu tā vietā, kas tev tur tagad ir. Excel'veidīgie to diezgan labi saprot.

kāpēc uzreiz neteicāt, ka viņš saprot html :D

Posted

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 :)

Posted (edited)

			$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
Posted (edited)

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
Posted

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));
}

Posted (edited)

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

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...