Exel-Tabelle in HTML umwandeln

söLLa

Commodore
Registriert
Dez. 2007
Beiträge
4.424
Hallo :D

Ich hab ne riesen Exel-Tabelle vor mir und möchte die nun möglichst stressfrei in ein HTML-Dokument umformen. Bin nicht wirklich unerfahren auf dem Gebiet, doch alles abtippen ist mir zu viel Arbeit.. Gibt es einen Converter der mir die komplette Tabelle als HTML-Datei ausliest? :confused_alt:

Danke euch schon mal^^
 
Eine Möglichkeit wäre auch die Tabelle als *.csv zu speichern, das würde eine Umwandlung durch ein kleines Script rel. einfach machen.
/edit: mir ist langweilig, ich schreib da mal was.
 
Zuletzt bearbeitet:
Ich verstehe irgendwie dein Problem nicht...

Wie wäre es mit "Speichern unter" und dann wählst du einfach "Webseite (*.htm, *.html)" aus...
 
Nuja, Die Office-Produkte haben schon immer ziemliches Müll-HTML generiert. Und bei 2007 finde ich eine solche Option gar nicht mehr ;)

Jedenfalls hier mein kleines Tool und der Sourcecode [C#]:
Code:
using System;
using System.IO;

namespace csv2html
{
	class Program
	{
		public static void Main(string[] args)
		{
			try
			{
			
			string source;
			if (args.Length < 1)
			{
				Console.Write("Quelldatei: ");
				source = Console.ReadLine();				
			}
			else
			{
				source = args[0];
			}
			if (!File.Exists(source))
			{
				Console.WriteLine("Datei existiert nicht!");
				return;
			}
			StreamReader csvdatei = File.OpenText(source);
			
			string output = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" +
				"<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" +
	 			"\t<head>\n" +
				"\t\t<title>CSV: " + source + "</title>\n" +
	 			"\t</head>\n" +
				"\t<body>\n" +
				"\t\t<table>\n";
				
			output += "\t\t\t<tr>\n";
			foreach (string value in csvdatei.ReadLine().Split(';'))
			{
				output += "\t\t\t\t<th>" + value + "</th>\n";
			}
			output += "\t\t\t</tr>\n";
						
			while (!csvdatei.EndOfStream)
			{
				output += "\t\t\t<tr>\n";
				foreach (string value in csvdatei.ReadLine().Split(';'))
				{
					output += "\t\t\t\t<td>" + value + "</td>\n";
				}
				output += "\t\t\t<tr>\n";
			}
			csvdatei.Close();
			
			output += "\t\t</table>\n" +
				"\t</body>\n" +
				"</html>";
			
			string target;
			if (args.Length < 2)
			{
				Console.Write("Zieldatei: ");
				target = Console.ReadLine();
			}
			else
			{
				target = args[1];
			}
			if (File.Exists(target))
			{
				Console.Write("Datei existiert bereits. Überschreiben? [y/n] ");
				if (Console.ReadLine() != "y")
					return;
			}
			
			StreamWriter htmldatei = File.CreateText(target);
			htmldatei.Write(output);
			htmldatei.Close();
			
			}
			catch (Exception e)
			{
				Console.WriteLine("AUSNAHME: " + e.Message);
				return;
			}
		}
	}
}
 

Anhänge

lool dank euch^^ Das gleich so antworten kommen hätte ich nicht erwartet :evillol:

Also auf C# bin ich absoluter voll-Noob, hab noch nie damit zutun gehabt dementsprechend schnall ich deine Methode herzlich wenig :lol: aber danke für die mühe ;) Die Idee mit Save As > HTML war gar nicht so schlecht, allerdings ist das alles sehr groß geraten, naja.. muss ich es doch wohl von Hand machen :freak:

Danke aber für eure mithilfe :D
 
öä, hab doch die .exe drangehängt, musst nur die .csv Datei draufziehen (als ersten Parameter übergeben).
 
Welche .csv soll ich denn ausführen? Ich hab einmal deine .exe und meine .xls? :lol:
 
Ich ralls einfach nicht :freak: Und was mach ich mit der .csv-Datei?^^ Bitte in kleinen Noob-Schritten :lol:
 
Auf meine .exe ziehen. Oder einfach das Programm starten und den Pfad zur .csv eingeben.
 
Schon mal einen Schritt weiter :lol: jetz steht in der .exe "Zieldatei"? Wie funzt das?^^
 
Es hat funktioniert danke dir :D Muss nur noch "bgcolors" einfügen und gut ist, danke für deine Bemühungen^^ :)
 
Zurück
Oben