C#list配列をxlsテーブルに保存
3007 ワード
List listName=new List();
listName.Add(" ");
listName.Add(" ID");
listName.Add("X ");
listName.Add("Y ");
listName.Add("Z ");
listName.Add(" ");
listName.Add(" ");
listName.Add(" ");
// listView1 excel
object misValue = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Workbook xlWorkBook = xlApp.Workbooks.Add(misValue);
Worksheet xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.get_Item(1);
for (int i = 0; i < listName.Count; i++)
{
xlWorkSheet.Cells[1, i + 1] = listName[i]; //write the column name
}
for (int i = 0; i < listView1.Items.Count; i++)
{
listView1.Items[i].Selected = true;//
xlWorkSheet.Cells[i + 2, 1] = listView1.SelectedItems[0].SubItems[0].Text.ToString();// i
xlWorkSheet.Cells[i + 2, 2] = listView1.SelectedItems[0].SubItems[1].Text.ToString();// i
xlWorkSheet.Cells[i + 2, 3] = listView1.SelectedItems[0].SubItems[2].Text.ToString();
xlWorkSheet.Cells[i + 2, 4] = listView1.SelectedItems[0].SubItems[3].Text.ToString();
xlWorkSheet.Cells[i + 2, 5] = listView1.SelectedItems[0].SubItems[4].Text.ToString();
xlWorkSheet.Cells[i + 2, 6] = listView1.SelectedItems[0].SubItems[5].Text.ToString();
xlWorkSheet.Cells[i + 2, 7] = listView1.SelectedItems[0].SubItems[6].Text.ToString();
xlWorkSheet.Cells[i + 2, 8] = listView1.SelectedItems[0].SubItems[7].Text.ToString();
......
}
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.InitialDirectory = Directory.GetCurrentDirectory() + "\\data\\";
sfd.Filter = "Excel |*.xls";
sfd.ShowDialog();
string path = sfd.FileName;
xlWorkBook.SaveAs(path, XlFileFormat.xlExcel7, misValue, misValue, misValue, misValue, XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
MessageBox.Show(" !");
}
catch (Exception)
{ }