На сайте есть таблица, и пользователи вводят данные в ячейки таблицы. Я отредактировал готовый код, чтобы вывести данные, введенные каждым пользователем, на разные страницы следующим образом. Но проблема в том, что ячеек много, и я должен сопоставить их по одной в коде. Я думаю, это должен быть более простой способ. Жду ваших предложений в свой адрес. (Sql не будет использоваться) Спасибо.
Код:
<td class="auto-style6">%<asp:TextBox ID="txtC7" runat="server" Width="28px"></asp:TextBox>
</td>
<td class="auto-style7">%<asp:TextBox ID="txtD7" runat="server" Width="28px"></asp:TextBox></td>
</tr>
<tr>
<td class="auto-style5">(%)</td>
<td class="auto-style6">%<asp:TextBox ID="txtC8" runat="server" Width="28px"></asp:TextBox></td>
<td class="auto-style7">%<asp:TextBox ID="txtD8" runat="server" Width="28px"></asp:TextBox></td>
</tr>
Код позади:
private static Microsoft.Office.Interop.Excel.Workbook mWorkBook;
private static Microsoft.Office.Interop.Excel.Sheets mWorkSheets;
private static Microsoft.Office.Interop.Excel.Application oXL;
object mv= System.Reflection.Missing.Value;
protected void Button1_Click(object sender, EventArgs e)
{
oXL = new Microsoft.Office.Interop.Excel.Application();
oXL.Visible = true;
oXL.DisplayAlerts = false;
string path = "D:\\output.xls";
if (!File.Exists(path))
{
mWorkBook = oXL.Workbooks.Add();
}
else
{
mWorkBook = oXL.Workbooks.Open(path, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true,
false, 0, true, false, false);
}
mWorkSheets = mWorkBook.Worksheets;
Microsoft.Office.Interop.Excel.Worksheet mWSheet = (Worksheet)mWorkBook.Worksheets.Add(mv, mv, mv, mv);
mWSheet.Name = DateTime.UtcNow.ToString().Replace(":", "-"); //Replace(":", String.Empty);
mWSheet.Range["B8"].Value = "(%)";
mWSheet.Range["C7"].Value = "%" + txtC7.Text;
mWSheet.Range["C8"].Value = "%" + txtC8.Text;
mWSheet.Range["D7"].Value = "%" + txtD7.Text;
mWSheet.Range["D8"].Value = "%" + txtD8.Text;
mWorkBook.SaveAs(path, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,
mv, mv, mv, mv, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,
mv, mv, mv,
mv, mv);
mWorkBook.Close(mv, mv, mv);
mWSheet = null;
mWorkBook = null;
oXL.Quit();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
}