Разработка программного изделия «Материальное требование» (раздел курсовой работы "Тексты программ"), страница 4

                                                 else

                                                 {

                                                           CTime TimeFrom = dialog.m_timeFrom;

                                                           CString strTimeFrom = TimeFrom.Format("%d.%m.%y");

                                                           CTime TimeTo = dialog.m_timeTo;

                                                           CString strTimeTo = TimeTo.Format("%d.%m.%y");

                                                           strHeader1 += strTimeFrom+" - "+strTimeTo;

                                                 }

                                                 Header1.SetWindowText(strHeader1);

                                                 CString strHeader2 = "ФИО Материльно отв. лица: ";

                                                 strHeader2 += dialog.m_strRecieved;

                                                 Header2.SetWindowText(strHeader2);

                                                 CString strHeader3 = "Наименование материала: ";

                                                 strHeader3 += dialog.m_strMaterialName;

                                                 Header3.SetWindowText(strHeader3);

                                                 CString strHeader4 = "Сумма по документу: ";

                                                 if (dialog.m_strSign == "<=")

                                                           strHeader4 += "не менее ";

                                                 if (dialog.m_strSign == ">=")

                                                           strHeader4 += "более ";

                                                 strHeader4 += dialog.m_strSum;

                                                 Header4.SetWindowText(strHeader4);

                                                 m_Grid.SetItemText(row,0,pTrebSet->m_strNumber);

                                                 m_Grid.SetItemText(row,1,pTrebSet->m_strWarehouseCode);

                                                 m_Grid.SetItemText(row,2,pTrebSet->m_strKlad);

                                                 m_Grid.SetItemText(row,3,pTrebSet->m_strRecieverDepartment);

                                                 CTime time = pTrebSet->m_timeDate;

                                                 CString strTime = time.Format("%d.%m.%y");

                                                 m_Grid.SetItemText(row,4,strTime);

                                                 CString strNumber;

                                                 strNumber.Format("%i",pTrebMaterialSet->m_lNumber);

                                                 m_Grid.SetItemText(row,5,strNumber);

                                                 m_Grid.SetItemText(row,6,pTrebSet->m_strGave);

                                                 row++;

                                                 if (row>19)

                                                 {

                                                           CString strRowNumber;

                                                           strRowNumber.Format("%i",row);

                                                           m_Grid.InsertRow(strRowNumber);

                                                 }                 

                                                 pTrebMaterialSet->MoveFirst();

                                                 break;

                                       }

                                       pTrebMaterialSet->MoveNext();

                              }

                              if (NotEmpty)

                                       pTrebMaterialSet->MoveFirst();

                              pTrebSet->MoveNext();

                    }

                    pTrebSet->Close();

                    pTrebMaterialSet->Close();

                    m_Grid.ExpandColumnsToFit();

                    }

                    if (match==0)

                    MessageBox("По данному запросу ничего не найдено","",MB_ICONEXCLAMATION);

          }

5.3  Программный код, реализующий функциональные возможности представления результатов запроса в виде документа Excel для его последующей распечатки

Основные объекты COM интерфейса Excel

app – объект Application;

books – объект Workbooks, представляет собой коллекцию рабочих книг;

book – объект _Workbook, является текущей рабочей книгой;

sheets – объект Worksheets, представляет собой коллекцию рабочих листов;

sheet – объект _Worksheet, является текущим рабочим листом;

range – объект Range, представляет собой выделенную область;

font – объект Font;

borders – объект Borders;

Первый фрагмент кода осуществляет подключение к COM серверу Excel, загрузку документа “Материальное требование” и получение набора рабочих листов книги.

          if(!app.CreateDispatch("Excel.Application"))

          {

                    AfxMessageBox("Couldn't start Excel and get Application object.");

                    return;

          }

          books = app.GetWorkbooks();

          char buf[512];

          ::GetCurrentDirectory(512,buf);

          CString strPath(buf);

          strPath += "\\Материальное требование";

          book = books.Open(strPath,