Office

Excel-Export quick & dirty

23. Januar 2009 · Anwendungen · andreas · Kein Kommentar

Zwar gibt es für PHP mit dem PHP Extension and Application Repository (PEAR) ein ähnliches Repository, wie es das Comprehensive Perl Archive Network (CPAN) für PERL darstellt, allerdings ist für die meisten Zwecke die Installation und Konfiguration von PEAR zu aufwendig im Hinblick auf das benötigte Ergebnis.

So gibt es zwar zum Schreiben von Excel-Dateien den “Spreadsheet::WriteExcel"-Clon “Spreadsheet_Excel_Writer”, der allerdings für einfache Exportzwecke deutlich überdimensioniert ist.

Diese kann man auch z.B. von Hand lösen, in dem man die Funktion von Excel ausnutzt, im “Notfall” auch HTML-Tabellen interpretieren zu können:

<?php
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=excel.xls");
?>
<table>
<tr>
<td>AA</td><td>BB</td>
</tr>
<tr>
<td>CC</td><td>DD</td>
</tr>
</table>

Beim Aufruf des Skripts öffnet sich der “Speichern unter”-Dialog des Browsers und man erhält in der Tat eine Excel-Tabelle, die u.U. den netten Charme hat, mit dem gleichen Code wie die Bildschirmausgabe nur mittles Template-Wechsel erzeugt werden zu können.


Potenziell unsichere Anlagen in Outlook zulassen

21. Oktober 2008 · Anwendungen · andreas · Kein Kommentar

Soeben hat mich Outlook 2003 in einer geradezu heldenhaften Aktion davor bewahrt, eine Anlage zu speichern, die von Microsoft für potenziell unsicher gehalten wird.

Prinzipiell ein löbliches Vorgehen, nur daß

  1. ich mir selbst die Anlage zugeschickt habe und sie wirklich gerne hätte

  2. ich die Anlage durchaus als sicher einstufe, sonst hätte ich sie mir nicht geschickt

Leider hat Microsoft keinen “Ich will aber trotzdem”-Button vorgesehen und da es auch unter “Extras” / “Optionen” keine entsprechende Einstellung gibt, müssen die notwendigen Einstellungen direkt über die Registry vorgenommen werden.

Unter dem Schlüssel

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security

eine Zeichenfolge mit dem Namen “Level1Remove” anlegen und dort als Wert die Dateiendungen eintragen, die zukünftig nicht mehr blockiert werden sollen - jeweils ohne führenden Punkt und mit Semikolon getrennt.

Anschließend klappt’s dann auch mit dem Speichern.


Excel-Daten in MySQL-Datenbank übernehmen

5. September 2008 · Anwendungen · andreas · Kein Kommentar

Steht man vor einer Aufgabe wie z.B. die Daten einer Excel-Tabelle in eine MySQL-Datenbank zu übernehmen, so geht entweder die Suche nach einem passenden Utility oder das Schreiben eines kleinen Skripts los.

Doch halt - eigentlich ist an Werkzeug schon alles, da, was man braucht:

  1. Excel: Zuerst werden mit Excel alle Daten soweit vorbereitet, wie sie später dann auch in der Tabelle stehen sollen. Dann wird die Excel-Tabelle als CSV-Datei abgespeichert.
  2. MySQL: Die Tabelle selbst wird angelegt und mit den benötigten Feldern versehen. Anschließend wird mittels des ‘LOAD DATA’-Kommandos die vorher erzeugte CSV-Datei in die Tabelle eingelesen.

Beispielhaft könnte der Aufruf des Kommandos wie folgt aussehen:

mysql> LOAD DATA INFILE 'D:/Temp/excel-daten.csv' INTO TABLE zieltabelle FIELDS TERMINATED BY ';';

Eine Ausführliche Beschreibung der Parameter gibt’s im MySQL Reference Manual