Есть программа
Код:
namespace DemoExcel
{
public partial class Form1 : Form
{
private Microsoft.Office.Interop.Excel.Application ObjExcel;
private Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;
private Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
private string fileName;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void buttonExport_Click(object sender, EventArgs e)
{
string a = textBox1.Text;
fileName = System.Windows.Forms.Application.StartupPath + "\\" + textBoxFileName.Text + ".xlsx";
try
{
ObjExcel = new Microsoft.Office.Interop.Excel.Application();
//Книга.
ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
//Таблица.
ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
for (int i = 0; i < dataGridViewMain.Rows.Count; i++)
{
DataGridViewRow row = dataGridViewMain.Rows[i]; // строки
for (int j = 0; j < row.Cells.Count; j++) //цикл по ячейкам строки
{
ObjExcel.Cells[i + 1, j + 1] = row.Cells[j].Value;
}
}
ObjWorkBook.SaveAs(fileName);
}
catch (Exception ex) { MessageBox.Show(ex.Message, "Error");}
finally
{
{
ObjWorkBook.Close();
// Закрытие приложения Excel.
ObjExcel.Quit();
ObjWorkBook = null;
ObjWorkSheet = null;
ObjExcel = null;
GC.Collect();
}
}
this.Text = this.Text + " - " + textBoxFileName.Text + ".xlsx";
}
private void buttonImport_Click(object sender, EventArgs e)
{
OpenFileDialog openDialog = new OpenFileDialog();
openDialog.Filter = "Файл Excel|*.XLSX;*.XLS";
openDialog.ShowDialog();
try
{
ObjExcel = new Microsoft.Office.Interop.Excel.Application();
//Книга.
ObjWorkBook = ObjExcel.Workbooks.Open(openDialog.FileName);
//Таблица.
ObjWorkSheet = ObjExcel.ActiveSheet as Microsoft.Office.Interop.Excel.Worksheet;
Microsoft.Office.Interop.Excel.Range rg = null;
Int32 row = 1;
dataGridViewMain.Rows.Clear();
List<String> arr = new List<string>();
while (ObjWorkSheet.get_Range("a" + row, "a" + row).Value != null)
{
// Читаем данные из ячейки
rg = ObjWorkSheet.get_Range("a" + row, "c" + row);
foreach (Microsoft.Office.Interop.Excel.Range item in rg)
{
try
{
arr.Add(item.Value.ToString().Trim());
}
catch { arr.Add(""); }
}
dataGridViewMain.Rows.Add(arr[0], arr[1], arr[2]);
arr.Clear();
row++;
}
MessageBox.Show("Файл успешно считан!", "Считывания excel файла", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex) { MessageBox.Show("Ошибка: " + ex.Message, "Ошибка при считывании excel файла", MessageBoxButtons.OK, MessageBoxIcon.Error); }
finally
{
ObjWorkBook.Close(false, "", null);
// Закрытие приложения Excel.
ObjExcel.Quit();
ObjWorkBook = null;
ObjWorkSheet = null;
ObjExcel = null;
GC.Collect();
}
this.Text = this.Text + " - " + openDialog.SafeFileName;
textBoxFileName.Text = openDialog.SafeFileName;
}
private void dataGridViewMain_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void textBoxFileName_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
Мне нужно переделать её что бы был 1 файл эксель,с которым работает программа и что бы с тектового поля добалялась инфа в конкретный столбец(имя например)