Wie Sie E‑Mails nach Excel / Google Tabellen exportieren
Wenn Sie Ihre E‑Mails in einer Tabelle benötigen, erfahren Sie hier genau, wie Sie vorgehen. Es gibt Apps, die Ihre E‑Mail‑Nachrichten und extrahierten Daten parsen und in eine Google‑Tabelle exportieren. ActorAi kann Ihnen dabei ebenfalls helfen.
Hier eine kurze Liste gängiger Anwendungsfälle für den Export von E‑Mails nach Excel oder Google Tabellen:
- Exportiere Bestell- und Versandbenachrichtigungen.
- Exportiere E-Mail-Leads für CRM- oder Datenbankaktualisierungen.
- Analysiere zurückgeprallte E-Mail-Adressen zur Listenverwaltung.
- Teile offene Probleme oder Anfragen mit Teams über gemeinsame Tabellen.
- Importiere strukturierte E-Mail-Daten in Datenbanken oder Unternehmensanwendungen.
- Sichere und archiviere wichtige Geschäftsemails.
- Erstelle Verteilerlisten aus Kontakten und Adressen.
- Extrahiere Finanz- und Speseninformationen für Berichte.
E‑Mails von Gmail nach Google Tabellen exportieren
Option A – Mit Google Workspace‑Add‑on (am einfachsten)
- Öffne Google Sheets → Erweiterungen → Add-ons.
- Suche nach dem Add-on „Gmail to Sheets“ (wähle eines, das deinen Anforderungen entspricht).
- Installiere und verbinde dein Gmail-Konto.
- Wähle Label/Ordner oder Suchfilter.
- Führe den Export aus → die Daten erscheinen in deinem Sheet.
- Tipp: Richte eine automatische Aktualisierung ein, damit die Daten täglich aktualisiert werden.
Option B – Mit Google Apps Script (Do‑it‑yourself‑Methode)
- Zieht E-Mails, die einer Gmail-Suche entsprechen (Label, from:, subject:, after:, usw.).
- Schreibt sie in das aktive Tabellenblatt mit sauberen Spalten
- Fügt ein benutzerdefiniertes Menü hinzu: E-Mail-Export → Export ausführen
- Ermöglicht die Steuerung von: Suchabfrage, maximaler Anzahl E-Mails und der Frage, ob Nachrichteninhalte eingeschlossen werden sollen
Google Apps Script einrichten (DIY‑Methode zum Export nach Excel)
- Öffnen Sie ein neues Google Sheet.
- Erweiterungen → Apps Script.
- Löschen Sie vorhandenen Code und fügen Sie das untenstehende Skript ein.
- Klicken Sie Speichern, dann Ausführen → onOpen() um das benutzerdefinierte Menü hinzuzufügen.
- Zurück im Sheet, gehen Sie zu E-Mail-Export → Setup-Tabelle (es erstellt einen Config-Tab und Kopfzeilen).
- Geben Sie Ihre Suche ein in
Config!B2(Beispiele unten), dann E-Mail-Export → Export ausführen.
/**************************************
* Gmail → Google Sheets Exporter
* Simple, DYI method for tech advanced.
**************************************/
const CONFIG_SHEET = 'Config';
const OUTPUT_SHEET = 'Emails';
const PROPERTY_STORE = PropertiesService.getDocumentProperties();
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Email Export')
.addItem('Setup sheet', 'setupSheet')
.addItem('Run export', 'exportEmails')
.addToUi();
}
function setupSheet() {
const ss = SpreadsheetApp.getActive();
// Config sheet
let conf = ss.getSheetByName(CONFIG_SHEET);
if (!conf) conf = ss.insertSheet(CONFIG_SHEET);
conf.clear();
conf.getRange('A1').setValue('Setting');
conf.getRange('B1').setValue('Value');
const rows = [
['Search query', 'label:inbox newer_than:30d'], // B2
['Max emails to fetch (per run)', 500], // B3 (limit to avoid timeouts)
['Include message body? (true/false)', false], // B4
['Body max characters', 5000], // B5
['Continue from last run? (true/false)', false] // B6
];
conf.getRange(2, 1, rows.length, 2).setValues(rows);
conf.autoResizeColumns(1, 2);
// Output sheet
let out = ss.getSheetByName(OUTPUT_SHEET);
if (!out) out = ss.insertSheet(OUTPUT_SHEET);
out.clear();
const headers = [
'Date',
'From',
'To',
'Subject',
'Snippet',
'Thread ID',
'Message ID',
'Labels',
'Has Attachments',
'Thread Link',
'Message Link',
'Body (optional)'
];
out.getRange(1, 1, 1, headers.length).setValues([headers]);
out.setFrozenRows(1);
out.autoResizeColumns(1, headers.length);
SpreadsheetApp.getUi().alert('Setup complete. Enter your query in Config!B2, then run "Email Export → Run export".');
}
function getConfig_() {
const ss = SpreadsheetApp.getActive();
const conf = ss.getSheetByName(CONFIG_SHEET);
if (!conf) throw new Error('Config sheet missing. Run "Setup sheet" first.');
const getVal = (row) => conf.getRange(row, 2).getValue();
return {
query: String(getVal(2) || '').trim(),
maxEmails: Number(getVal(3) || 500),
includeBody: String(getVal(4)).toLowerCase() === 'true',
bodyMaxChars: Number(getVal(5) || 5000),
continueFromLast: String(getVal(6)).toLowerCase() === 'true',
};
}
function exportEmails() {
const cfg = getConfig_();
if (!cfg.query) throw new Error('Please fill a Gmail search in Config!B2.');
const ss = SpreadsheetApp.getActive();
const out = ss.getSheetByName(OUTPUT_SHEET) || ss.insertSheet(OUTPUT_SHEET);
// Resume support (optional)
let startIndex = 0;
if (cfg.continueFromLast) {
startIndex = Number(PROPERTY_STORE.getProperty('startIndex') || 0);
} else {
PROPERTY_STORE.deleteProperty('startIndex');
// If not continuing, start fresh by clearing previous rows (keep header)
const lastRow = out.getLastRow();
if (lastRow > 1) out.getRange(2, 1, lastRow - 1, out.getLastColumn()).clearContent();
}
const BATCH_SIZE_THREADS = 100; // Gmail returns threads, we’ll page through them
const rows = [];
let fetchedEmails = 0;
while (fetchedEmails < cfg.maxEmails) {
const threads = GmailApp.search(cfg.query, startIndex, BATCH_SIZE_THREADS);
if (!threads.length) break;
for (const thread of threads) {
const msgs = thread.getMessages();
for (const msg of msgs) {
if (fetchedEmails >= cfg.maxEmails) break;
const date = msg.getDate();
const from = msg.getFrom();
const to = msg.getTo();
const subject = msg.getSubject() || '';
const snippet = msg.getPlainBody().slice(0, 120).replace(/\s+/g, ' ').trim();
const threadId = thread.getId();
const msgId = msg.getId();
const labels = thread.getLabels().map(l => l.getName()).join(', ');
const hasAttachments = msg.getAttachments().length > 0;
const threadLink = `https://mail.google.com/mail/u/0/#all/${threadId}`;
const messageLink = `https://mail.google.com/mail/u/0/#inbox/${msgId}`;
let body = '';
if (cfg.includeBody) {
// Prefer plain body; fallback to HTML stripped
body = msg.getPlainBody();
if (!body) {
const html = msg.getBody();
body = stripHtml_(html);
}
if (cfg.bodyMaxChars > 0 && body.length > cfg.bodyMaxChars) {
body = body.slice(0, cfg.bodyMaxChars) + '…';
}
}
rows.push([
date,
from,
to,
subject,
snippet,
threadId,
msgId,
labels,
hasAttachments,
threadLink,
messageLink,
body
]);
fetchedEmails++;
}
if (fetchedEmails >= cfg.maxEmails) break;
}
startIndex += BATCH_SIZE_THREADS;
// Safety: avoid 6-minute execution limit
if (Utilities.getRemainingDailyQuota && rows.length >= 5000) break;
}
if (rows.length) {
out.insertRowsAfter(out.getLastRow() || 1, rows.length);
out.getRange(out.getLastRow() - rows.length + 1, 1, rows.length, rows[0].length).setValues(rows);
out.autoResizeColumns(1, out.getLastColumn());
}
if (cfg.continueFromLast) {
PROPERTY_STORE.setProperty('startIndex', String(startIndex));
}
SpreadsheetApp.getUi().alert(`Export complete: ${fetchedEmails} emails added.`);
}
function stripHtml_(html) {
// Lightweight HTML → text
return String(html || '')
.replace(/<style[\s\S]*?<\/style>/gi, '')
.replace(/<script[\s\S]*?<\/script>/gi, '')
.replace(/<[^>]+>/g, ' ')
.replace(/\s+/g, ' ')
.trim();
}
Einfache Skriptversion für Google Tabellen.
function exportSimple() {
const sheet = SpreadsheetApp.getActiveSheet();
const query = 'label:inbox newer_than:7d';
const threads = GmailApp.search(query, 0, 100);
const rows = [['Date','From','Subject','Snippet','Thread Link']];
threads.forEach(t => {
t.getMessages().forEach(m => {
rows.push([
m.getDate(),
m.getFrom(),
m.getSubject(),
m.getPlainBody().slice(0,120).replace(/\s+/g,' ').trim(),
'https://mail.google.com/mail/u/0/#all/' + t.getId()
]);
});
});
sheet.clear().getRange(1,1,rows.length,rows[0].length).setValues(rows);
}
E‑Mails von Outlook nach Excel exportieren
1. Verwenden Sie die Export‑als‑CSV‑Methode in Outlook:
- Navigieren Sie zu Datei > Öffnen & Exportieren > Importieren/Exportieren.
- Wählen Sie In eine Datei exportieren und wählen Sie Komma-getrennte Werte (CSV).
- Wählen Sie den E-Mail-Ordner, den Sie exportieren möchten (z. B. Posteingang).
- Wenn Sie dazu aufgefordert werden, klicken Sie Benutzerdefinierte Felder zuordnen um nur die E-Mail-Attribute auszuwählen, die Sie benötigen, wie z. B. Von, An, Betreff, Empfangsdatum, usw.
- Schließen Sie den Export ab und öffnen Sie die CSV-Datei in Excel, um nur die Metadaten anzuzeigen.
2. Filtern und Kopieren textbasierter Metadaten in Outlook:
- Erstellen Sie in Outlook eine benutzerdefinierte Ansicht, in der nur die gewünschten Spalten sichtbar sind (z. B. Absender, Datum usw.).
- Wählen Sie die E-Mails aus, kopieren Sie sie und fügen Sie sie dann in Excel ein.
- Diese Methode kann bei kleinen Mengen schneller sein, insbesondere wenn Sie nur bestimmte Kopfzeileninformationen oder Metadaten exportieren.
3. Verwenden Sie Power Query für dynamischen Export:
- Power Query in Excel kann sich direkt mit Outlook verbinden und nur die benötigten Felder filtern.
- Diese Methode ermöglicht fortlaufende Aktualisierungen und Automatisierung, während die Datenmenge gering bleibt.
- Öffnen Sie Excel und wechseln Sie zur Registerkarte 'Daten'.
- Wählen Sie 'Daten abrufen' > 'Aus anderen Quellen' > 'Aus Microsoft Exchange'.
- Geben Sie Ihre Outlook-E-Mail-Adresse ein und melden Sie sich an, um die Verbindung herzustellen.
- Wählen Sie den Postfachordner (z. B. Posteingang), der die gewünschten E-Mails enthält.
- Wählen Sie im Power Query-Editor nur die benötigten Spalten aus, z. B. Betreff, Von, An und Empfangsdatum.
- Wenden Sie Filter an, um die E-Mails einzugrenzen, etwa nach Datum oder Absender.
- Klicken Sie auf 'Schließen & Laden', um die gefilterten E-Mail-Daten in eine Excel-Tabelle zu importieren.
- Aktualisieren Sie die Abfrage jederzeit, um Ihre Daten mit neuen oder geänderten E-Mails zu aktualisieren.
Hinweis: Wir planen, dies innerhalb von Actor als E‑Mail‑App zu integrieren. Derzeit prüfen wir das Interesse.
Hinweis: Der Export nach Excel oder Google Tabellen macht keinen Unterschied. Beides sind hervorragende Werkzeuge von Microsoft bzw. Google.
Jetzt haben Sie Ihre E‑Mails in einer Tabelle – bereit zur Analyse, zum Filtern oder Teilen. Wenn Sie dies regelmäßig benötigen, sollten Sie eine Automatisierung einrichten, die den Vorgang in gewünschten Intervallen wiederholt.
