BExIS.IO.Transform.Output.ExcelWriter.CreateFile C# (CSharp) Метод

CreateFile() публичный Метод

public CreateFile ( long datasetId, long datasetVersionOrderNr, long dataStructureId, string title, string extention ) : string
datasetId long
datasetVersionOrderNr long
dataStructureId long
title string
extention string
Результат string
        public string CreateFile(long datasetId, long datasetVersionOrderNr, long dataStructureId, string title, string extention)
        {
            string dataPath = GetFullStorePath(datasetId, datasetVersionOrderNr, title, extention);

            //Template will not be filtered by columns
            if (this.VisibleColumns == null)
            {
                #region generate file with full datastructure

                    string dataStructureFilePath = GetDataStructureTemplatePath(dataStructureId, extention);
                    //dataPath = GetStorePath(datasetId, datasetVersionOrderNr, title, extention);

                    try
                    {

                        SpreadsheetDocument dataStructureFile = SpreadsheetDocument.Open(dataStructureFilePath, true);
                        SpreadsheetDocument dataFile = SpreadsheetDocument.Create(dataPath,
                            dataStructureFile.DocumentType);

                        foreach (OpenXmlPart part in dataStructureFile.GetPartsOfType<OpenXmlPart>())
                        {
                            OpenXmlPart newPart = dataFile.AddPart<OpenXmlPart>(part);
                        }

                        dataFile.WorkbookPart.Workbook.Save();
                        dataStructureFile.Dispose();
                        dataFile.Dispose();

                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message.ToString());
                    }

                #endregion
            }

            // create a file with a subset of variables
            if (this.VisibleColumns != null)
            {
                /// call templateprovider from rpm
                ExcelTemplateProvider provider = new ExcelTemplateProvider();

                string path = GetStorePath(datasetId, datasetVersionOrderNr);
                string newTitle = GetNewTitle(datasetId, datasetVersionOrderNr, title, extention);

                provider.CreateTemplate(getVariableIds(this.VisibleColumns), dataStructureId, path, newTitle);

            }

            return dataPath;
        }

Usage Example

Пример #1
0
        /// <summary>
        /// create a new file of given extension
        /// ns will be used to seperate from other files created of individual datasets
        /// </summary>
        /// <param name="ns">namespace</param>
        /// <param name="title"></param>
        /// <param name="ext"></param>
        /// <param name="writer"></param>
        /// <returns></returns>
        private string createDownloadFile(string ns, long datastructureId, string title, string ext, DataWriter writer, string[] columns = null)
        {
            ExcelWriter excelwriter = null;

            switch (ext)
            {
            // text based files
            case ".csv":
            case ".txt":
            case ".tsv":
                AsciiWriter asciiwriter = (AsciiWriter)writer;
                return(asciiwriter.CreateFile(ns, title, ext));

            // excel files
            case ".xlsx":
                excelwriter = (ExcelWriter)writer;
                return(excelwriter.CreateFile(ns, datastructureId, title, ext));

            case ".xlsm":
                excelwriter = (ExcelWriter)writer;
                excelwriter.VisibleColumns = columns;
                return(excelwriter.CreateFile(ns, datastructureId, title, ext));

            // no valid extension given
            default:
                return("");
            }
        }
All Usage Examples Of BExIS.IO.Transform.Output.ExcelWriter::CreateFile