- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
if (parameter == null)//если ведомость доков...
{
cmd.Connection = dbc;
cmd.CommandText =
"SELECT RTRIM(n.Element) + ' '+ RTRIM(e.Naim) " +
"FROM tb_Element e, tb_ElementName n " +
"WHERE n.id = e.id " +
"AND e.GostTU ='" + head.Text.Substring(0, head.Text.IndexOf(" ")) + "'";
dbc.Open();
naim = cmd.ExecuteScalar().ToString();
dbc.Close();
cmd.CommandText =
"SELECT " +
" LTRIM(RTRIM(s.NameProject)) " +
",LTRIM(RTRIM(n.Element)) + ' '+ LTRIM(RTRIM(e.Naim)) " +
",LTRIM(RTRIM(d.Obozn)) " +
"FROM " +
" tb_document d " +
",tb_specificationproject s " +
",tb_element e " +
",tb_elementname n " +
"WHERE " +
"d.pinsp = s.pinsp " +
"AND e.pin = s.pinsp " +
"AND n.id = e.id " +
"AND s.NameProject IN " +
"( " +
namelist +
") " +
"ORDER BY d.Pinsp ";
dbc.Open();
dbr = cmd.ExecuteReader();
counter = 0;
template = File.ReadAllLines(System.Windows.Forms.Application.StartupPath + "\\doclist.xml");
while (template[counter].Trim() != "</Table>")
{
if (template[counter].Trim() != "<Cell ss:MergeAcross=\"4\" ss:StyleID=\"s67\"><Data ss:Type=\"String\">%name%</Data></Cell>")
{
filedata.Add(template[counter]);
}
else
{
filedata.Add("<Cell ss:MergeAcross=\"4\" ss:StyleID=\"s67\"><Data ss:Type=\"String\">" + naim + "</Data></Cell>");
}
counter++;
}
tail_start = counter;
counter = 8;
tmp = "";
while (dbr.Read())
{
if (tmp != dbr[0].ToString())
{
tmp = dbr[0].ToString();
//Определяю высоту строки
CalcHeight = " ss:Height = " + '"' + Convert.ToString(rowHeight * (1 + dbr[1].ToString().Length / 10)) + '"';
filedata.Add("<Row" + CalcHeight.Replace(',', '.') + ">");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"Number\">" + (counter - 7).ToString() + "</Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\">" + dbr[1].ToString().TrimEnd() + "</Data></Cell>");
}
else
{
filedata.Add("<Row ss:Height = \"" + Convert.ToString(rowHeight).Replace(',', '.') + "\">");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"Number\">" + (counter - 7).ToString() + "</Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
}
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\">" + dbr[2].ToString().TrimEnd() + "</Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
filedata.Add("</Row>");
counter++;
}
counter = tail_start;
while (counter < template.GetLength(0))
{
filedata.Add(template[counter]);
counter++;
}
}
Суровый промышленный код. Выгружаем в эксель данные из БД.
vladthesparrow 03.12.2012 16:46 # 0
Grover 03.12.2012 16:49 # 0
vladthesparrow 03.12.2012 16:51 # 0
Fai 03.12.2012 20:18 # 0
> запрещены вопросы
Ну за что их так?
eth0 03.12.2012 21:17 # +5
Lure Of Chaos 04.12.2012 01:38 # 0
Grover 04.12.2012 10:22 # +1
Они были дурны собой, и совершенно не умели готовить!©
eth0 04.12.2012 20:02 # 0
Grover 03.12.2012 16:56 # 0
Не ОНИИП, не?
eth0 03.12.2012 17:20 # 0
krypt 04.12.2012 00:31 # 0
scriptin 04.12.2012 00:39 # +2
someone 04.12.2012 07:03 # 0
Как и про параметризуемые запросы, видимо.