Excel-Dateien erstellen und bearbeiten

Mit der Bibliothek PhpExcel lassen sich in PHP bequem Excel-Dateien erstellen und bearbeiten. Selbst einzelne Sheets können neu angelegt oder bearbeitet werden. Das funktioniert einfacher und komfortabler als das Arbeiten mit Word-Dateien.

Auf der Bibliothekswebseite stehen etliche Beispiele bereit, um fast alle Bereiche rund um Excel in PHP abzudecken.

Selbst Zellen mit Formeln können befüllt und erhalten werden. Dazu gibt es die Funktion:

$objWriter->setPreCalculateFormulas(FALSE);

Hier ein Beispiel, um eine Excel-Datei zu öffnen , zu bearbeiten und zu speichern:


<?php
error_reporting(E_ALL);
set_time_limit(0);
date_default_timezone_set('Europe/London');
 
/** Include PHPExcel */
require_once 'Classes/PHPExcel.php';
 
/** PHPExcel_IOFactory */
include 'Classes/PHPExcel/IOFactory.php';
//die Datei demo.xls liegt im gleichen Verzeichnis wie diese PHP-Datei
$objPHPexcel = PHPExcel_IOFactory::load('Demo.xls');
//welches Sheet soll geladen warden?
$objWorksheet = $objPHPexcel->getSheet(1);
//in der nächsten Zeile setzen wir im 1. Sheet in der Zelle A6 den Wert „Mathias Bauer“
$objWorksheet->getCell('A6')->setValue('Mathias Bauer');
//den neu gesetzten Wert auslesen und ausgeben
$value = $objWorksheet->getCell('A6')->getValue();
echo $value;
//das 2. Sheet laden
$objWorksheet0 = $objPHPexcel->getSheet(2);
//und in der Zelle E11 den Wert “An der Gersprenz 7” setzen
$objWorksheet0->getCell('E11')->setValue('An der Gersprenz 7');
//den neu gesetzten Wert auslesen und anzeigen
$value = $objWorksheet0->getCell('E11')->getValue();
echo $value;
//das default Sheet setzen, welches nach dem Öffnen der Datei mit Excel angezeigt warden soll
$objPHPexcel->setActiveSheetIndex(0);
//das Dateiformat setzen
$objWriter = PHPExcel_IOFactory::createWriter($objPHPexcel, 'Excel2007');
//evtl. vorhandene Formeln nicht ausführen, sondern lediglich die neuen Werte setezen
$objWriter->setPreCalculateFormulas(FALSE);
//Werte in neuer Datei speichern
$objWriter->save('Demo2.xlsx');
?>

Wenn Ihnen die Lösung weitergeholfen hat, würde ich mich über ein „Like” oder einen Kommentar sehr freuen. Danke!

Best-Practise: Social Media Marketing – Urlaubsreise zu gewinnen

Die Frage „Wie bekommt man mehr Besucher auf seinen Blog oder seine Webseite?“ stellt sich immer mal wieder. Und Social Media Marketing eignet sich hervorragend dazu, das zu erreichen. Doch was muss man genau unternehmen? Eine Antwort findet sich auf dieser Seite https://www.urlaub-ferien-reisen.com.

Screenshot: urlaub-ferien-reisen.com

Screenshot: urlaub-ferien-reisen.com

Dort hat Beatrix Pircher die Aktion „Familienurlaub zu gewinnen“ ins Leben gerufen. Normalerweise werden Gutscheine oder andere Sachen verlost. Auf diesem Blog jedoch kann man sich einen Familienurlaub auf der Rossalm in Südtirol im Wert von über 1300 € „erarbeiten“.

Die Idee ist super und kreativ!

Kurz zu den Regeln:

Es geht darum Punkte zu sammeln. Wer die meisten Punkte bis zum 25.9. erreicht hat, ist der Gewinner eines Familienurlaubs für 4 Personen.

Wie kann man Punkte sammeln?

  • Kommentare schreiben: 1 Punkt
  • Facebook, Google+ oder Twitter Statusmeldungen: Jeweils 1 Punkt
  • Fan werden: 1 Punkt
  • Follower werden: 1 Punkt
  • In Kreisen aufnehmen: 1 Punkt
  • Eintrag in die Newsletter-Liste: 2 Punkte
  • Backlink von der eigenen Website: 3 Punkte
  • Artikel auf eigenem Blog: 5 Punkte

Auf jeden Fall werde ich die Aktion im Auge behalten und mache hiermit mit. 😉 Bis jetzt scheinen noch nicht so viele an der Aktion teilgenommen zu haben. Vielleicht ist das aber auch nur Taktik…

Blogsystem vs. CMS – WordPress vs. Joomla

mbdus-Softwareentwicklung

mbdus-Softwareentwicklung

Zu Beginn der Erstellung meines neuen Webauftritts https://www.mbdus.de stellte sich mir die Frage, welches und ob ich ein Blogsystem verwenden sollte. Dass ich einen Blog anbiete, war klar. Im heutigen Zeitalter darf eine Webseite nicht mehr nur aus reinem statischen Content bestehen. Also was tun? In Joomla eine Blogkategorie einrichten oder lieber einen WordPress-Blog integrieren? Und warum sollte man sich überhaupt darüber Gedanken machen? Alle verwenden WordPress, also nehme ich das auch, oder?

WordPress als Blogsystem

  • Artikel sind gut verlinkt (meistens sogar in Social Media) und werden gut in Google gelistet.
  • WordPress ist schnell installiert und konfiguriert (berühmte 2 Minuten-Installation).
  • Zwar sind von vorne herein alle Blogfunktionen schon vorhanden, trotzdem sollte man noch den Blog um weitere Funktionen mit Plugins erweitern.

Joomla (stellvertretend für ein nicht reines Blogsystem)

  • Joomla ist ein Content Management System (CMS) und kein Blogsystem. Deshalb sind die typischen Blogfunktionen nicht vorinstalliert.
  • Blogfunktionen können jedoch über Plugins, Komponenten und Module nachinstalliert werden.
  • Somit kann man grundsätzlich Joomla auch als Blog nutzen.
  • Jedoch ist Joomla als Blog nicht ganz so einfach und schnell nutzbar wie WordPress.

Daraus ergeben sich 2 Optionen oder Möglichkeiten:

  1. Option

Zusätzlich WordPress in einem Unterordner oder Subdomain installieren und konfigurieren.

Vorteil:

WordPress ist das Blogsystem schlechthin.

Nachteil:

Falls kein Unterschied im Aussehen zu sehen sein soll, dann muss das Template der eigentlichen Webseite auch in WordPress erstellt werden.

  1. Option

In dem System (CMS, Shop-System), mit dem man arbeitet, müssen die Blogfunktionen nachgebildet werden. Für die meisten Systeme sind jedoch dafür schon Komponenten, Module oder Plugins in der Community oder auf dem Markt vorhanden.

Vorteil:

Das Template muss nicht nachgebildet werden. Und die gesamte Webseite wird aus einem System heraus gemanagt.

Nachteil:

Die eigentliche Blog(unter)seite mit allen gewünschten Funktionen zu erstellen ist etwas aufwendiger als mit WordPress, da die Standardfunktionen noch nicht vorinstalliert und konfiguriert sind.

Die entscheidende Frage, die sich u.a. mir stellt, ist: „Welches System mag Google am liebsten?“ Bevorzugt Google überhaupt ein System? Die Antwort ist nein. Für Google sind hauptsächlich regelmäßige neue Inhalte auf der Webseite wichtig und ob die Seite gut besucht ist und noch besser, es findet sogar Interaktion in Form von Kommentaren statt.

Somit bleibt es zunächst eine Geschmacksfrage, ob man zusätzlich für einen Menüpunkt ein Blogsystem einrichtet oder ein CMS erst noch einrichtet und mit Blogfunktionen ausstattet.

Hier auf https://www.unibits.de wurde zusätzlich eine Subdomain https://www.mbdus.de eingerichtet und mittels einem Menüpunkt verlinkt. Auf https://www.mbdus.de wurde eine sog. Blogkategorie in Joomla erstellt. Außerdem wurden zusätzlich noch zwei Komponenten, JComments und AutoTweetNG, installiert und konfiguriert. Damit ist dort nur ein System im Einsatz, was auch zu bevorzugen ist. Im Nachhinein könnten Anforderungen aufkommen, wie man denn die beiden Systeme auch miteinander verknüpfen kann, so dass man sich z.B. nicht zweimal im Backend anmelden muss. Klar, auch so etwas (Bridge) kann man programmieren oder ist bereits in der Community vorhanden und muss “nur” installiert und konfiguriert werden. Aber man könnte es von vorneherein auch einfacher haben…

Deshalb sollte man sich im Vorfeld Gedanken machen, welche Funktionen brauche ich oder möchte ich meinen Benutzern zur Verfügung stellen. Möchte ich einfach „nur“ Content oder kann und muss es mehr sein, wie z.B. ein Onlineshop oder andere Funktionen wie z.B. die einer Community. Dafür sollte dann ein CMS oder Shopsystem zum Einsatz kommen. In diesen Systemen kann man dann auch einen systemeigenen Blog erstellen. Der entscheidende Punkt ist jedoch, dass diese Systeme meist eine MVC-Architektur als Fundament besitzen und somit sauber Module, Komponenten oder Plugins entwickelt werden können. Natürlich kann man durch Plugins auch WordPress soweit bringen, dass eine MVC-Struktur zu Grunde liegt. Jedoch ist es einfacher und schneller, und somit auch mit weniger Aufwand verbunden, gleich auf eine MVC-Struktur zurückzugreifen.

Wenn aber von Beginn an klar ist, dass „nur“ Content zur Verfügung gestellt wird, und dabei ist es egal ob statischer oder dynamischer, dann sollte man auf ein Blogsystem wie WordPress zurückgreifen. Es ist schneller installiert und konfiguriert. Und von Beginn an ist alles vorhanden, um bei Google gut gelistet werden zu können. Zwar sind auch hier noch einige Plugins zusätzlich sehr hilfreich, jedoch ist die Webseite schnell erstellt.

Im Übrigen eignet sich WordPress auch für größere, mittelständische Unternehmen. Die Webseiten von Mesacon Messelektronik GmbH (https://www.mesacon.com und https://www.mesacon.in) sind ausschließlich mit WordPress erstellt. Wie dort zu sehen ist, kann man in WordPress auch statische Seiten anlegen, die immer den gleichen Content bereitstellen.

Mesacon Messelektronik GmbH

Mesacon Messelektronik GmbH

 

Mesacon Messelektronik GmbH

Mesacon Messelektronik GmbH

Framestarter – Webanwendungen schneller entwickeln

Default Frontend-Template des Framestarters

Default Frontend-Template des Framestarters

In meiner letzten Webanwendung habe ich das Framework CodeIgniter eingesetzt und getestet. CodeIgniter ist sehr gut, schnell und leichtgewichtig. Deshalb kann ich es absolut empfehlen.

Ein Punkt hat mich jedoch gestört. Von Beginn an sind nicht die gängigen Komponenten vorinstalliert, die eine Durchschnittswebanwendung benötigt. Man kann zwar diese Komponenten mittels Plugins nachinstallieren und konfigurieren. Jedoch kostet das den Entwickler bei jeder neuen Webanwendung wieder wertvolle Zeit, die er in die Entwicklung der eigentlichen Funktionen stecken könnte.

Ein Ansatz bietet BonFire. BonFire wurde speziell für die schnelle Entwicklung von CodeIgniter-Anwendungen programmiert. Hier sind von Beginn an schon viele Plugins und eigene Erweiterungen integriert. Allerdings sind das bereits zu viele. Bspw. ist der Administrationsbereich schon zu umfangreich. Auch die Templates sind zu umfassend. In diesem Fall muss man nach der Installation Quellcode anpassen oder entfernen.

Es wird ein Startpacket mit allen Komponenten benötigt, die auf möglichst allen Webseiten zu finden sind. Im Zweifelsfall ist die Komponente weg zu lassen und nachträglich zu installieren und zu konfigurieren.

Deshalb soll Framestarter Abhilfe verschaffen. Die Idee besteht darin, möglichst schnell eine Webanwendung entwickeln zu können ohne das Rad neu erfinden zu müssen. Framestarter basiert auf CodeIgniter und enthält zusätzlich von Beginn an:

  • eine .htaccess-Datei, die aus der URL /index.php/ entfernt.
  • eine Benutzerregistrierung (Tank Auth).
  • Sprachdateien (aus Tank Auth).
  • Die deutsche Sprachdatei wurde angepasst.
  • ein Administrationsbereich mit der Möglichkeit schnell ein Rechtesystem umzusetzen. In  der Datenbank wird standardmäßig die group_id = 3 gesetzt.
  • ein Templatesystem (beinhaltet bewusst zwei rudimentäre Themes für das Frontend und Backend).
  • HMVC, um das Template in Bereiche unterteilen und modular entwickeln zu können.
  • Bsp.-Modulpositionen sind in den Konfigurationsdateien modules.php und admin_modules.php hinterlegt.

Framestarter spart dem Entwickler zu Beginn des Projektes eine Menge Zeit. Somit kann dieser direkt mit der Programmierung der eigentlichen Funktionen beginnen.

Framestarter kann hier kostenlos heruntergeladen werden.

Über ein „Like” oder einen Kommentar würde ich mich sehr freuen. Danke!

5 Blogsoftware-Anbieter im Vergleich

Im letzten Artikel habe ich 9 Bloganbieter verglichen. Wer aber einen professionelleren Blog erstellen möchte, der benötigt Blogsoftware, die er auf dem eigenen Webspace installieren und konfigurieren kann.  Zum Glück gibt es dazu Open Source Software.

Nachfolgend finden Sie in der Tabelle 5 Blogsoftwareanbieter im Vergleich. Ursprünglich stammt der Vergleich von diesem Blog aus dem Artikel „Blog-Software: Fünf Programme im Vergleich“. Leider ist der Artikel aus dem Jahr 2009 und nicht mehr ganz aktuell. Deshalb habe ich versucht die Tabelle zu aktualisieren und zu ergänzen. Für Feedback wäre ich sehr dankbar! Auf diesem Weg könnte ich die Tabelle weiter auf dem neuesten Stand halten.

Anhand der Kriterien Sprachen, Themes und Plugins ist WordPress der klare Favorit. Außerdem steht eine sehr große Community dahinter, die ständig die Software weiter entwickelt und neue Plugins hervorbringt.

 

Version

3.4.1

1.6.2

2.4.3

5.14

3.9

Voraus-setzungen
  • PHP ab 5.2.4
  • MySQL ab 5.0
  • mod_rewrite Modul empfohlen
  • PHP ab 5.0
  • MySQL oder PostgreSQL
  • Binaries von ImageMagic mit gd2 empfohlen
  • Unterstützung von .htaccess empfohlen
  • PHP ab 5.0
  • MySQL/ PostgreSQL/ SQLite
  • gd2 empfohlen
  • PHP ab 5.0
  • MySQL ab 5.0
  • Perl ab 5.8.1
  • PHP ab 5.0
  • MySQL ab 5.0
Sprachen

64

30

2

9

17

Themes

> 1000

> 100

> 100

> 50

> 10

Plugins

> 6.500

> 200

> 80

> 700

> 20

+

  • einfache Installation/ Bedienung
  • Deutsche Sprachversion
  • Support-Foren /Foren/Homepage in Deutsch
  • riesige Themes/ Plugin-Datenbank
  • zahlreiche Bücher/ Ratgeber erhältlich
  • einfache Installation
  • Deutsche Sprachversion
  • Support-Foren /Foren/Homepage in Deutsch
  • Deutsches Fachbuch im Handel erhältlich
  • zahlreiche Themes/ Plugins
  • einfache Installation/ Bedienung
  • ausführliche Dokumentation
  • zahlreiche Themes/ Plugins

 

  • Deutsche Sprach-version
  • Ausführliche Dokumentation
  • Design-Assistent im Internet
  • Fachbücher im Handel erhältlich
  • große Anzahl an Plugins
  • Deutsche Sprachversion
  • sehr einfache Bedienung
  • übersichtliche Menüstruktur
  • Entwickler hilft persönlich bei Problemen
  • „Zomplog Installation Team“

  • Themes-/ Plugin-Datenbank auf Grund der riesigen Anzahl unübersichtlich
  • durch hohe Verbreitung verstärkt Ziel von Hacker-Angriffen
  • graphischer WYSIWYG-Editor muss erst manuell aktiviert werden
  • Online-Plugin-Suche im Backend benötigt installiertes „Spartacus“- Plugin
  • keine deutsche Sprachversion
  • Sprachenunter-stützung mangelhaft
  • Downloadportal für Themes und Plugins teilweise in Französisch
  • Dokumentation nur in Englisch / Französisch
  • Funktions-umfang benötigt etwas mehr Einarbeit-ungszeit
  • Homepage/ Dokumen-tation/ Fachbücher bisher nur in Englisch
  • Installation vergleichsweise kompliziert
  • Darstellungs-fehler unter IE 8
  • wenige Themes / Plugins
  • Dokumentation dürftig/ nur in Englisch
  • Support nur über englisches Forum auf der Homepage
  • wenige Optionen

 

Über ein „Like” oder einen Kommentar würde ich mich sehr freuen. Danke!