Ich wollte nur wissen, ob dies möglich ist und wenn ja, kann ich einen Ausgangspunkt bekommen.schreiben Sie Formulardaten in XLS-Datei
Momentan suche ich ein HTML-Formular zu erstellen, und senden Sie die Daten an eine Excel-Tabelle. Ich werde PHP verwenden, um die Formulardaten zu senden. Das Formular wird als 2 Tabellen eingerichtet. Die 2 Tabellen werden als Mangel-Tabelle und die andere als Überschreitungs-Tabelle gekennzeichnet. Ich habe ein Dropdown-Menü mit den Namen von Personen. Was ich zu erreichen versuche, ist, dass die Daten in eine Excel-Tabelle geschrieben werden und die Werte von der Knappheitstabelle und den Werten aus der Überlagerungstabelle getrennt werden. Wenn zum Beispiel die Knappheitstabelle 4 Einträge enthält und der Überschuß 2 Einträge enthält, würde in der Excel-Tabelle für Zelle A1 ein Überschuß angegeben werden, Zeile 2 würde die Spaltenüberschriften enthalten (dh Datum, Beschreibung, Größe usw.). .), und dann beginnt Zeile 8 mit Überschuß, Zeile 9 enthält die Header und Zeile 10 enthält die eingegebenen Werte. Zugegeben, das wird nicht immer der Fall sein, nur ein Beispiel.
Mein Hauptziel ist es, es so einzurichten. Jede Person hat ein speziell für sie erstelltes Arbeitsblatt. Dieses Formular wird täglich verwendet, so dass der Dateiname das Datum hat. Also wird das Formular jeden Tag geöffnet, und sobald der Submit-Button gedrückt wurde, möchte ich ein Arbeitsblatt für diese Person mit den Daten aus den 2 Tabellen erstellen lassen. Zum Beispiel ist Bill Smith heute der erste Eintrag. Nachdem die Informationen aus den 2 Tabellen eingegeben wurden, wähle ich den Submit Button. Innerhalb des Verzeichnisses befindet sich eine Excel-Datei mit der Bezeichnung data03/29/16.xls. In dieser Excel-Arbeitsmappe enthält ein Arbeitsblatt das Label/Tab Bill Smith.
Ist das überhaupt möglich ist, oder wäre es einfacher und effizienter sein, die Formulardaten in eine CSV-Datei zu schreiben?
Edit:
<!DOCTYPE HTML>
<html>
<head>
<title> Drive Check In </title>
<script type = "text/javascript">
function reset()
{
var driver = document.getElementById("drivers");
var date = docuemt.getElementById("dates");
var custnum = document.getElementById("customernum");
var invnum = document.getElementById("invoicenum");
var proddesc = document.getElementById("proddes");
var sz = document.getElementById("size");
var cs = document.getElementById("cs");
var btls = document.getElementById("btls");
var chkint = document.getElementById("chkitls");
driver.value.reset();
date.value.reset();
custnum.value.reset();
}
</script>
</head>
<body>
<form action = '' method = "post">
<table id = "shortages" >
<h1> Shortages </h1>
<thead>
<tr>
<th> Driver </th>
<th> Date </th>
<th> Customer# </th>
<th> Invoice# </th>
<th> Product Description </th>
<th> Size </th>
<th> CS </th>
<th> Btls </th>
<th> CHK Itls </th>
</tr>
</thead>
<tr>
<td>
<select id = "drivers" name = 'drivers'>
<option value = " "> </option>
<option value = "Driver1"> Driver1 </option>
<option value = "Driver2"> Driver2 </option>
<option value = "Driver3"> Driver3 </option>
</select></td>
<td> <input type = "text" id = "dates"size = "10" name = "dates"> </input> </td>
<td> <input type = "number" min = "1" max = "99999999" id = "customernum" name = "customernum"> </input> </td>
<td> <input type = "number" min = "1" max = "99999999" id = "invoicenum" name = "invoicenum"> </input> </td>
<td> <input type = "text" id = "proddes" name = "proddes"> </input> </td>
<td> <input type = "number" id = "size" name = "size"> </input> </td>
<td> <input type = "number" id = "cs" name = "cs"> </input> </td>
<td> <input type = "number" id = "btls" name = "btls"> </input> </td>
<td> <input type = "text" id = "chkitls" name = "chkitls"> </input> </td>
</tr>
</table>
<input type = "submit" value = "submit" name = "mydrivers>
<?php
function myfputcsv($handle, $array, $delimiter = ',', $enclosure = '"', $eol = "\n") {
$return = fputcsv($handle, $array, $delimiter, $enclosure);
if($return !== FALSE && "\n" != $eol && 0 === fseek($handle, -1, SEEK_CUR)) {
fwrite($handle, $eol);
}
return $return;
}
if(isset($_POST['mydrivers'])) {
$header=array();
$data=array();
foreach (array_slice($_POST,0,count($_POST)-1) as $key => $value) {
//$header[]=$key;
$data[]=$value;
}
$fp = fopen('driver.csv', 'a+');
//fputcsv($fp, $header);
myfputcsv($fp, $data);
fclose($fp);
}
?>
</form>
</html>
Dies ist die PHP-Datei, die ich bisher haben. Ich habe das verwendet, ohne Ihre Vorschläge umzusetzen, aber ich werde sie umsetzen.
Das ist mein Hauptausgang Ziel. Nachdem die cvs-Datei geöffnet und formatiert wurde, ist dies das Hauptziel.
Edit 2: nach dem Code der Umsetzung, ist dies die Ausgabe Ich erhalte. Output screen
* Alles * möglich ist. –
@JayBlanchard Vielen Dank. Ich denke, alles ist möglich, aber ich bin nicht vertraut mit den Möglichkeiten, dies zu erreichen –
Wenn das der Fall ist, hätten Sie nicht nach der Möglichkeit fragen sollen, etwas zu tun, Sie hätten fragen sollen, wie. Aber selbst da wäre die Frage [zu weit für Stack Overflow] gewesen (http://stackoverflow.com/help/how-to-ask). ¯ \\ _ (ツ) _/¯ –