Дипломная работа: Автоматизация складских процессов предприятия ООО «АТОЛ»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
110
//Process.Start(filename);
}
//вордовский шаблон
if (sh.КодТипа == 2)
{
FillExcelDoc(filename, sh);
}
}
catch (Exception ee)
{
MessageBox.Show(ee.Message, "Возникла ошибка", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
private void button3_Click(object sender, EventArgs e)
{
// получаем выбранный шаблон
BDDataSet.ШаблонСтипомRow sh =
(BDDataSet.ШаблонСтипомRow)((DataRowView)comboBox1.SelectedItem).Row;//
;
comboBox1.SelectedItem;
if (sh == null) return;
try
{
string filename = Path.GetTempFileName();
filename = Path.ChangeExtension(filename, (sh.КодТипа == 1 ? ".docx" :
".xlsx"));
using (Stream file = File.OpenWrite(filename))
{
file.Write(sh.Шаблон, 0, sh.Шаблон.Length);
}
Process.Start(filename);
}
catch (Exception ee)
{
MessageBox.Show(ee.Message, "Возникла ошибка", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
private void button4_Click(object sender, EventArgs e)
{
// получаем выбранный шаблон
BDDataSet.ШаблонСтипомRow sh =
111
(BDDataSet.ШаблонСтипомRow)((DataRowView)comboBox1.SelectedItem).Row;//
;
comboBox1.SelectedItem;
if (sh == null) return;
FormMetki f = new FormMetki();
f.FillMetki(sh);
f.Show();
}
private void конвертацияToolStripMenuItem_Click(object sender, EventAr
gs e)
{
FormKonvert f = new FormKonvert();
f.Show();
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
BDDataSet.ШаблонСтипомRow sh;
private void button5_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application ap = new
Microsoft.Office.Interop.Excel.Application();
ap.Visible = false;
Microsoft.Office.Interop.Excel.Workbook book = ap.Workbooks.Add();
Microsoft.Office.Interop.Excel.Worksheet sheet = book.Worksheets[1];
sheet.Cells[1, 2] = "Введите верхний колонтитул";
sheet.Cells[2, 2] = "Введите нижний колонтитул";
sheet.Columns[2].ColumnWidth = 31;
Microsoft.Office.Interop.Excel.Range rng = sheet.Range[sheet.Cells[1,
3],
sheet.Cells[1, 3]];
rng.Interior.ColorIndex = 33;
rng = sheet.Range[sheet.Cells[2,3], sheet.Cells[2, 3]];
rng.Interior.ColorIndex = 34;
rng = sheet.Range[sheet.Cells[1,1], sheet.Cells[1, 2]];
rng.Merge();
rng = sheet.Range[sheet.Cells[2, 1], sheet.Cells[2, 2]];
rng.Merge();
sh =
(BDDataSet.ШаблонСтипомRow)((DataRowView)comboBox1.SelectedItem).Row;
BDDataSet.МеткиDataTable m =
меткиTableAdapter.GetDataByКодШаблона(sh.КодШаблона);
int i = 1;
112
sheet.Cells[4, 1] = "Имя документа документа";
sheet.Columns[1].ColumnWidth = 10;
bool isEstTable = false;
foreach (BDDataSet.МеткиRow metka in m)
{
if (metka.КодВидаМетки != 1 && metka.КодВидаМетки != 2) continue;
i++;
if (metka.КодВидаМетки == 1) sheet.Cells[4, i] = "Введите текст/число"
;
sheet.Cells[5, i] = metka.Наименование;
if (metka.КодВидаМетки == 2)
{
sheet.Cells[4, i] = "Введите таблицу";
string[] cols = metka.ЗаголовкиКолонок.Split('/');
int j = i;
isEstTable= true;
foreach (string s in cols)
{
sheet.Cells[6, j] = s;
j++;
}
Microsoft.Office.Interop.Excel.Range rng2 = sheet.Range[sheet.Cells[4,
i],
sheet.Cells[4, j-1]];
rng2.Merge();
rng2 = sheet.Range[sheet.Cells[5, i], sheet.Cells[5, j-1]];
rng2.Merge();
i += j-i-1;
}
if (metka.КодВидаМетки == 2) sheet.Columns[i].ColumnWidth = 45;
if (metka.КодВидаМетки == 1) sheet.Columns[i].ColumnWidth = 25;
}
//email
sheet.Cells[4, i + 1] = "Введите здесь адрес электронной почты получат
еля, если
документ необходимо отправить по почте";
sheet.Cells[4, i + 2] = "Введите тему письма";
sheet.Cells[4, i + 3] = "Введите текст письма";
sheet.Cells[5, i + 1] = "EMAIL";
sheet.Cells[5, i + 2] = "Тема письма";
sheet.Cells[5, i + 3] = "Текст письма";
Microsoft.Office.Interop.Excel.Range rng1 = sheet.Range[sheet.Cells[5,
i + 1],
sheet.Cells[5, i + 3]];
113
rng1.Interior.ColorIndex = 44;
sheet.Columns[i + 1].ColumnWidth = 30;
sheet.Columns[i + 2].ColumnWidth = 30;
sheet.Columns[i + 3].ColumnWidth = 30;
rng1 = sheet.Range[sheet.Cells[4, 1], sheet.Cells[4, i + 3]];
rng1.Interior.ColorIndex = 15;
rng1.Font.Size = 10;
rng1.Font.Italic = true;
rng1 = sheet.Range[sheet.Cells[5, 1], sheet.Cells[6, i]];
rng1.Interior.ColorIndex = 36;
if (!isEstTable)
{
//скрываем 6-ю строку, если нет таблиц в документе
rng1 = sheet.Range[sheet.Cells[6, 1], sheet.Cells[6, i + 3]];
rng1.EntireRow.Hidden = true;
}
rng1 = sheet.Range[sheet.Cells[1, 3], sheet.Cells[1, i + 3]];
rng1.Merge();
rng1 = sheet.Range[sheet.Cells[2, 3], sheet.Cells[2, i + 3]];
rng1.Merge();
sheet.UsedRange.WrapText = true;
sheet.UsedRange.EntireRow.AutoFit();
ap.Visible = true;
}
private void button7_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*.xlsx|*.xlsx";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox3.Text = openFileDialog1.FileName;
}
}
private void button6_Click(object sender, EventArgs e)
{
if (sh == null) return;
BDDataSet.МеткиDataTable m =
меткиTableAdapter.GetDataByКодШаблона(sh.КодШаблона);
string filename = Path.GetTempFileName();
filename = Path.ChangeExtension(filename, (sh.КодТипа == 1 ? ".docx" :
".xlsx"));
using (Stream file = File.OpenWrite(filename))
{
file.Write(sh.Шаблон, 0, sh.Шаблон.Length);
114
file.Flush();
file.Close();
}
string path = "";
if (sh.КодТипа == 1)
path= FillWordDocPacket(filename, textBox3.Text);
if (sh.КодТипа == 2)
path=FillExcelPacket(filename, textBox3.Text);
Process.Start(path);
}
private string FillExcelPacket(string filename, string filenameData)
{
Microsoft.Office.Interop.Excel.Application apData = new
Microsoft.Office.Interop.Excel.Application();
apData.Visible = false;
Microsoft.Office.Interop.Excel.Workbook bookData = null;
Microsoft.Office.Interop.Excel.Workbooks databook = apData.Workbooks;
apData.Workbooks.Open(filenameData,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
bookData = databook[1];
//ноывй апликейшен для документов
Microsoft.Office.Interop.Excel.Application ap = new
Microsoft.Office.Interop.Excel.Application();
ap.Visible = false;
Microsoft.Office.Interop.Excel.Worksheet sheetData = bookData.Workshee
ts[1];
//создаем папку
string nameFold = System.Windows.Forms.Application.StartupPath +
@"\документы\" + sh.Выражение1 + "_" + DateTime.Now.ToShortDateString()
.Replace(".", "-");
DirectoryInfo d;
if (!Directory.Exists(nameFold))
d = Directory.CreateDirectory(nameFold);
else
{
nameFold = System.Windows.Forms.Application.StartupPath + @"\документы
\"
+ sh.Выражение1 + "_" + DateTime.Now.ToShortDateString().Replace(".", "
-") + "-" +
DateTime.Now.ToShortTimeString().Replace(":", "-");
Источник: https://baza.diplomsite.ru/previewfile/594