summaryrefslogtreecommitdiff
path: root/Tools/XlsxToCsv/Program.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-10-26 12:20:33 +0800
committerchai <chaifix@163.com>2021-10-26 12:20:33 +0800
commit3b79158563fd2f7f72d502067f178d60c31b2c28 (patch)
tree1b583739439a00c4d347a6533a8424b153fbcbd1 /Tools/XlsxToCsv/Program.cs
parent0549b1e5a8a3132005e275d6026db8003cb067d2 (diff)
+xlsxToCSV
Diffstat (limited to 'Tools/XlsxToCsv/Program.cs')
-rw-r--r--Tools/XlsxToCsv/Program.cs101
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;
+ }
+ }
+}