コード例 #1
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("No arguments were passed.");
                Console.ReadLine();  // Keep the console open.
                return;
            }

            var filePath = args[0];

            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader(@"D:\Source Code\Repos\GenerateLADataTable\119091822000867_Kusto query tab.csv");

            // Get the Header (Columns)
            var columns = new List <DataTableColumn> ();
            // Read first libe (Header or column names)
            var line1 = file.ReadLine();
            // Comma separated
            var arrNames = line1.Split(',');

            foreach (var colName in arrNames)
            {
                var col = new DataTableColumn();
                col.ColumnName = colName;
                columns.Add(col);
            }

            // get the rows
            while ((line = file.ReadLine()) != null)
            {
                var values = line.Split(',');
                var index  = 0;
                foreach (var value in values)
                {
                    columns[index++].Values.Add(value);
                }
            }

            file.Close();

            var datatable = @"let data = datatable (" + appendColumns(columns) + ") [";

            datatable += Environment.NewLine;
            datatable += appendRows(columns);
            datatable += Environment.NewLine;
            datatable += "];";
            Console.WriteLine(datatable);
            // TODO: Save as .kql for Kusto explorer
            var logPath   = ".\\Query.kql";
            var logFile   = System.IO.File.Create(logPath);
            var logWriter = new System.IO.StreamWriter(logFile);

            logWriter.WriteLine(datatable);
            logWriter.Dispose();
            TextCopy.Clipboard.SetText(datatable);
        }
コード例 #2
0
        static void Main(string[] args)
        {
            // TODO:Read CSV
            int    counter = 0;
            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader(@"D:\Source Code\Repos\GenerateLADataTable\119091822000867_Kusto query tab.csv");

            // Get the Header (Columns)
            var columns = new List <DataTableColumn> ();
            // Read first libe (Header or column names)
            var line1 = file.ReadLine();
            // Comma separated
            var arrNames = line1.Split(',');

            foreach (var colName in arrNames)
            {
                var col = new DataTableColumn();
                col.ColumnName = colName;
                columns.Add(col);
            }

            // get the rows
            while ((line = file.ReadLine()) != null)
            {
                var values = line.Split(',');
                var index  = 0;
                foreach (var value in values)
                {
                    columns[index++].Values.Add(value);
                }
            }

            file.Close();

            // TODO: inspect Data type

            // TODO: Generate the Datatabe

            /*
             * Template
             *  datatable (Date:datetime, Event:string)
             *  [datetime(1910-06-11), "Born",
             *  datetime(1930-01-01), "Enters Ecole Navale",
             *  datetime(1953-01-01), "Published first book",
             *  datetime(1997-06-25), "Died"]
             | where strlen(Event) > 4
             */

            var datatable = @"let data = datatable (" + appendColumns(columns) + ") [";

            datatable += Environment.NewLine;
            datatable += appendRows(columns);
            datatable += Environment.NewLine;
            datatable += "];";
            Console.WriteLine(datatable);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            // TODO: Get file name as param
            int    counter = 0;
            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader(@"D:\Source Code\Repos\GenerateLADataTable\119091822000867_Kusto query tab.csv");

            // Get the Header (Columns)
            var columns = new List <DataTableColumn> ();
            // Read first libe (Header or column names)
            var line1 = file.ReadLine();
            // Comma separated
            var arrNames = line1.Split(',');

            foreach (var colName in arrNames)
            {
                var col = new DataTableColumn();
                col.ColumnName = colName;
                columns.Add(col);
            }

            // get the rows
            while ((line = file.ReadLine()) != null)
            {
                var values = line.Split(',');
                var index  = 0;
                foreach (var value in values)
                {
                    columns[index++].Values.Add(value);
                }
            }

            file.Close();

            var datatable = @"let data = datatable (" + appendColumns(columns) + ") [";

            datatable += Environment.NewLine;
            datatable += appendRows(columns);
            datatable += Environment.NewLine;
            datatable += "];";
            Console.WriteLine(datatable);
            // TODO: Save as .kql for Kusto explorer
            TextCopy.Clipboard.SetText(datatable);
        }
コード例 #4
0
        static void Main (string[] args) {
            if (args.Length == 0) {
                Console.WriteLine ("No arguments were passed.");
                Console.ReadLine (); // Keep the console open.
                return;
            }

            var filePath = args[0];
            Console.WriteLine ($"Processing {filePath}.");

            if (filePath.ToLower ().EndsWith (".xlsx")) {
                var package = new ExcelPackage (new System.IO.FileInfo (filePath));

                filePath = filePath.Replace (".xlsx", ".csv");
                package.ConvertToCsv (filePath);

                package.Dispose ();

            }

            string line;

            // Read the file and display it line by line.  
            System.IO.StreamReader file =
                new System.IO.StreamReader (filePath);

            // Get the Header (Columns)
            var columns = new List<DataTableColumn> ();
            // Read first libe (Header or column names)
            var line1 = file.ReadLine ();
            // Comma separated
            var arrNames = line1.Split (',');

            foreach (var colName in arrNames) {
                var col = new DataTableColumn ();
                col.ColumnName = colName;
                columns.Add (col);
            }

            // get the rows
            while ((line = file.ReadLine ()) != null) {
                var values = line.Split (',');
                var index = 0;
                foreach (var value in values) {
                    columns[index++].Values.Add (value);
                }
            }

            file.Close ();
            var dataTableName = "Data";

            var has = columns.FirstOrDefault (col => col.ColumnName == "Type");
            if (has != null) {
                dataTableName = has.Values[0];
            }

            var datatable = $"let {dataTableName} = datatable (" + appendColumns (columns) + ") [";
            datatable += Environment.NewLine;
            datatable += appendRows (columns);
            datatable += Environment.NewLine;
            datatable += "];";
            datatable += Environment.NewLine;
            datatable += dataTableName;
            Console.WriteLine (datatable);
            // TODO: Save as .kql for Kusto explorer
            var logPath = filePath.Replace (".csv", ".kql");
            var logFile = System.IO.File.Create (logPath);
            var logWriter = new System.IO.StreamWriter (logFile);
            logWriter.WriteLine (datatable);
            logWriter.Dispose ();
            TextCopy.Clipboard.SetText (datatable);

        }
コード例 #5
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("No arguments were passed.");
                Console.ReadLine();  // Keep the console open.
                return;
            }

            var filePath = args[0];

            Console.WriteLine($"Processing {filePath}.");

            if (filePath.ToLower().EndsWith(".xlsx"))
            {
                var package = new ExcelPackage(new System.IO.FileInfo(filePath));

                var worksheet = package.Workbook.Worksheets[1];

                var maxColumnNumber = worksheet.Dimension.End.Column;
                var currentRow      = new List <string> (maxColumnNumber);
                var totalRowCount   = worksheet.Dimension.End.Row;
                var currentRowNum   = 1;

                var memory = new MemoryStream();

                using (var writer = new StreamWriter(memory, Encoding.ASCII)) {
                    while (currentRowNum <= totalRowCount)
                    {
                        BuildRow(worksheet, currentRow, currentRowNum, maxColumnNumber);
                        WriteRecordToFile(currentRow, writer, currentRowNum, totalRowCount);
                        currentRow.Clear();
                        currentRowNum++;
                    }
                }

                return(memory.ToArray());

                filePath = filePath.Replace(".xlsx", ".csv");

                _package.SaveAs(new System.IO.FileInfo(filePath));

                _package.Dispose();
            }

            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader(filePath);

            // Get the Header (Columns)
            var columns = new List <DataTableColumn> ();
            // Read first libe (Header or column names)
            var line1 = file.ReadLine();
            // Comma separated
            var arrNames = line1.Split(',');

            foreach (var colName in arrNames)
            {
                var col = new DataTableColumn();
                col.ColumnName = colName;
                columns.Add(col);
            }

            // get the rows
            while ((line = file.ReadLine()) != null)
            {
                var values = line.Split(',');
                var index  = 0;
                foreach (var value in values)
                {
                    columns[index++].Values.Add(value);
                }
            }

            file.Close();

            var datatable = @"let data = datatable (" + appendColumns(columns) + ") [";

            datatable += Environment.NewLine;
            datatable += appendRows(columns);
            datatable += Environment.NewLine;
            datatable += "];";
            Console.WriteLine(datatable);
            // TODO: Save as .kql for Kusto explorer
            var logPath   = ".\\Query.kql";
            var logFile   = System.IO.File.Create(logPath);
            var logWriter = new System.IO.StreamWriter(logFile);

            logWriter.WriteLine(datatable);
            logWriter.Dispose();
            TextCopy.Clipboard.SetText(datatable);
        }
コード例 #6
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("No arguments were passed.");
                Console.ReadLine();  // Keep the console open.
                return;
            }

            var filePath = args[0];

            Console.WriteLine($"Processing {filePath}.");

            if (filePath.ToLower().EndsWith(".xlsx"))
            {
                using (ExcelEngine excelEngine = new ExcelEngine()) {
                    IApplication application = excelEngine.Excel;

                    //Set default version for application.
                    application.DefaultVersion = ExcelVersion.Excel2016;
                    IWorkbook workbook = application.Workbooks.Open(filePath);

                    filePath = filePath.Replace(".xlsx", ".csv")
                               workbook.SaveAs("Sample.csv", ",");
                }
            }

            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
                new System.IO.StreamReader(filePath);

            // Get the Header (Columns)
            var columns = new List <DataTableColumn> ();
            // Read first libe (Header or column names)
            var line1 = file.ReadLine();
            // Comma separated
            var arrNames = line1.Split(',');

            foreach (var colName in arrNames)
            {
                var col = new DataTableColumn();
                col.ColumnName = colName;
                columns.Add(col);
            }

            // get the rows
            while ((line = file.ReadLine()) != null)
            {
                var values = line.Split(',');
                var index  = 0;
                foreach (var value in values)
                {
                    columns[index++].Values.Add(value);
                }
            }

            file.Close();

            var datatable = @"let data = datatable (" + appendColumns(columns) + ") [";

            datatable += Environment.NewLine;
            datatable += appendRows(columns);
            datatable += Environment.NewLine;
            datatable += "];";
            Console.WriteLine(datatable);
            // TODO: Save as .kql for Kusto explorer
            var logPath   = ".\\Query.kql";
            var logFile   = System.IO.File.Create(logPath);
            var logWriter = new System.IO.StreamWriter(logFile);

            logWriter.WriteLine(datatable);
            logWriter.Dispose();
            TextCopy.Clipboard.SetText(datatable);
        }