diff options
Diffstat (limited to 'Tools/XlsxToCsv/Program.cs')
-rw-r--r-- | Tools/XlsxToCsv/Program.cs | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/Tools/XlsxToCsv/Program.cs b/Tools/XlsxToCsv/Program.cs new file mode 100644 index 0000000..29968e1 --- /dev/null +++ b/Tools/XlsxToCsv/Program.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace xlsxToCsv +{ + class Program + { + static ExcelConvert excelConvert = new ExcelConvert(); + + static int fileList() + { + var allfiles = System.IO.Directory.GetFiles(".", "*.*", System.IO.SearchOption.AllDirectories).Where(s => s.EndsWith(".xls") || s.EndsWith(".xlsx")); + if ( allfiles.Count() == 0) + { + Console.WriteLine("File not found.."); + return 1; + } + foreach (string src in allfiles) + { + var tar = Path.ChangeExtension(src, "csv"); + Console.WriteLine(src + " => " + tar); + try { + if(excelConvert.Convert(src, tar) == false) + { + Console.WriteLine("ERROR : ["+src+"] can't read excel file."); + } + } catch( InvalidCastException e) + { + Console.WriteLine(e.ToString()); + } + } + return 0; + } + + static void printHelp() + { + string filename = Process.GetCurrentProcess().ProcessName; + Console.WriteLine("Excel to CSV(UTF-8). \n\r"); + Console.WriteLine("USING 1."); + Console.WriteLine("\t"+ filename); + Console.WriteLine("\n\rUSING 2."); + Console.WriteLine("\t"+ filename +" [Source FilePath] [Target FilePath] [-h]\n\r"); + Console.WriteLine("\t -h\t Display help"); + } + + static int Main(string[] args) + { + foreach(string a in args ) + { + if( String.Compare(a, "-h", true) == 0) + { + printHelp(); + return 0; + } + } + + if (args.Length != 0 && args.Length != 2) + { + printHelp(); + return 1; + } + + // 폴더를 검색해서 변경 + if (args.Length == 0) + { + return fileList(); + } + + // cli file change + string srcFile = args[0]; + string tarFile = args[1]; + + if(!File.Exists(srcFile)) + { + Console.WriteLine("File not found. [" + srcFile + "]"); + return 1; + } + + string tarPath = Path.GetDirectoryName(tarFile); + if (!Directory.Exists(tarPath) && tarPath.Length > 0) + { + Console.WriteLine("Target Folder not exist."); + return 1; + } + + Console.WriteLine(srcFile + " => " + tarFile); + if (excelConvert.Convert(srcFile, tarFile) == false) + { + Console.WriteLine("ERROR : [" + srcFile + "] can't read excel file."); + return 1; + } + + return 0; + } + } +} |