コード例 #1
0
        static int Columns(string file, string name)
        {
            if (!File.Exists(file))
            {
                Error("File not found: " + file);
                return(1);
            }

            using var csvz = CsvZipPackage.Open(file);

            var entry = csvz.FindEntry(name);

            var cols = entry.GetColumnSchema();

            var table = new ConsoleTable("Column", "Ordinal", "Type", "Nullable");

            table.Configure(o => o.NumberAlignment = Alignment.Right);
            foreach (var col in cols.OrderBy(c => c.ColumnOrdinal))
            {
                table.AddRow(col.ColumnName, col.ColumnOrdinal, col.DataTypeName, col.AllowDBNull);
            }

            table.Write(Format.Minimal);

            return(0);
        }
コード例 #2
0
        static int Add(string file, string name, bool overwrite)
        {
            if (!File.Exists(file))
            {
                Error("File not found: " + file);
                return(1);
            }

            if (!File.Exists(name))
            {
                Error("File not found: " + file);
                return(2);
            }

            using var csvz = CsvZipPackage.Open(file);
            var entry = csvz.FindEntry(name);

            if (entry != null)
            {
                if (overwrite)
                {
                    Console.WriteLine("Entry already exists, overwriting.");
                    entry.Delete();
                }
                else
                {
                    Error("File " + file + " alrady contain a table named " + name + ", specify overwrite to replace.");
                    return(3);
                }
            }
            WriteCsv(csvz, name);
            Console.WriteLine($"Added {name} to {file}.");
            return(0);
        }
コード例 #3
0
        static int Remove(string file, string name)
        {
            if (!File.Exists(file))
            {
                Error("File not found: " + file);
                return(1);
            }

            using var csvz = CsvZipPackage.Open(file);
            var entry = csvz.FindEntry(name);

            if (entry == null)
            {
                Error("File " + file + " doesn't contain a table named " + name);
                return(2);
            }
            entry.Delete();
            Console.WriteLine($"Removed {name} from {file}.");
            return(0);
        }
コード例 #4
0
        static int Tables(string file)
        {
            if (!File.Exists(file))
            {
                Error("File not found: " + file);
                return(1);
            }

            using var csvz = CsvZipPackage.Open(file);

            var table = new ConsoleTable("Table", "Size", "Rows", "Columns");

            table.Configure(o => o.NumberAlignment = Alignment.Right);
            foreach (var entry in csvz.Entries)
            {
                table.AddRow(entry.Name, entry.Length, entry.RowCount, entry.ColumnCount);
            }

            table.Write(Format.Minimal);

            return(0);
        }