Example #1
0
    public DxDoc(DxReport rpt, string savepath, string temppath, string projtitle, string datafile, string netid)
    {
        _creator_netid = netid;
        _savepath      = savepath;
        _temppath      = temppath;
        _projtitle     = projtitle;
        _datafile      = datafile;
        //_filename = String.Format("Rpt_{0}_dp{1}_{2}.docx", rpt.rptnum, rpt.dataproj_pk, DateTime_Helper.DateTime_for_filename()); // filename;

        MakeDocx(rpt);

        //Document doc = new DevExpress.XtraRichEdit.API.Native.Document();
    }
Example #2
0
    protected void MakeDocx(DxReport rpt)     //, string path, string projtitle, string datafile)
    {
        log(" ====== MakeDocx (DxChartFactory factory) ======");
        //const float imageLocationX = 40;
        //const float imageLocationY = 40;
        //int counter = 0;
        //string path = @"C:\_temp\factory\";


        //string fileName_with_savepath = String.Format(@"{0}{1}", _savepath, _filename);


        using (DevExpress.XtraRichEdit.RichEditDocumentServer srv = new DevExpress.XtraRichEdit.RichEditDocumentServer())
        {
            DevExpress.XtraRichEdit.API.Native.Document doc = srv.Document;
            doc.Unit = DevExpress.Office.DocumentUnit.Inch;
            doc.Sections[0].Page.PaperKind = System.Drawing.Printing.PaperKind.Letter;
            doc.Sections[0].Margins.Left   = 0.5f;
            doc.Sections[0].Margins.Right  = 0.5f;
            doc.Sections[0].Margins.Top    = 0.5f;
            doc.Sections[0].Margins.Bottom = 0.5f;

            string subtitle = String.Format("Data Proj: {0}{1}Data file: {2}", _projtitle, Environment.NewLine, _datafile);

            DocxHeader(doc, rpt.rpttitle, subtitle);

            DocumentPosition pos = doc.Range.Start;
            //New Section

            if (rpt.rptdesc.Length > 2)
            {
                doc.AppendText("Report Description:");
                doc.Paragraphs.Append();
                doc.AppendText(rpt.rptdesc);
                doc.Paragraphs.Append();
            }



            //foreach (DxChartOrder order in rpt.orders.chartorders)
            for (int c = 0; c < rpt.orders.chartorders.Count; c++)
            {
                DxChartOrder order = rpt.orders.chartorders[c];
                doc.Paragraphs.Append();

                bool hassameasPrev = rpt.orders.HasSameWkshtFilterVars(c, "chart", -1);
                bool hassameasNext = rpt.orders.HasSameWkshtFilterVars(c, "chart", 1);

                if (order.dt_selectedvars != null & hassameasPrev == false)
                {
                    AppendDataTable(doc, order.dt_selectedvars);
                    doc.Paragraphs.Append();
                }

                Debug.WriteLine(order.InvoiceToString());
                doc.AppendSingleLineText(order.InvoiceToString());
                doc.Paragraphs.Append();

                for (int b = 0; b < order.batches.Count; b++)
                {
                    DxChartBatch batch = order.batches[b];

                    if (batch.charts.Count > 0)
                    {
                        doc.AppendSingleLineText(batch.batchtitle);
                        doc.Paragraphs.Append();

                        AppendCharts(pos, batch, doc);
                        doc.Paragraphs.Append();
                    }
                }

                if (hassameasNext == false)
                {
                    doc.InsertSection(doc.Range.End);
                }
            }


            srv.SaveDocument(String.Format(@"{0}{1}", _savepath, rpt.RptFilename()), DevExpress.XtraRichEdit.DocumentFormat.OpenXml);
        }
    }