From 869c56db31cf1398d5397f1a1683ecc7d61723ba Mon Sep 17 00:00:00 2001
From: P0000010708 <michael.paffrath@th-koeln.de>
Date: Sun, 4 Apr 2021 15:25:47 +0200
Subject: [PATCH] 1.0.0

- Java code added to access excel data
- C# code added to access excel data
- Python code added to access excel data
---
 .gitignore                                    |  10 +++++++
 .../DesignTimeBuild/.dtbcache.v2              | Bin 0 -> 283 bytes
 .../.vs/prototype_csharp/v16/.suo             | Bin 0 -> 28160 bytes
 C#/prototype_csharp/prototype_csharp.sln      |  25 ++++++++++++++++
 .../prototype_csharp/Program.cs               |  27 ++++++++++++++++++
 .../prototype_csharp/prototype_csharp.csproj  |  20 +++++++++++++
 Java/Java.iml                                 |  12 ++++++++
 Java/src/com/company/Main.java                |  25 ++++++++++++++++
 Python/prototype_py.py                        |   6 ++++
 demo.xlsx                                     | Bin 0 -> 8132 bytes
 10 files changed, 125 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 C#/prototype_csharp/.vs/prototype_csharp/DesignTimeBuild/.dtbcache.v2
 create mode 100644 C#/prototype_csharp/.vs/prototype_csharp/v16/.suo
 create mode 100644 C#/prototype_csharp/prototype_csharp.sln
 create mode 100644 C#/prototype_csharp/prototype_csharp/Program.cs
 create mode 100644 C#/prototype_csharp/prototype_csharp/prototype_csharp.csproj
 create mode 100644 Java/Java.iml
 create mode 100644 Java/src/com/company/Main.java
 create mode 100644 Python/prototype_py.py
 create mode 100644 demo.xlsx

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..cf5758d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,10 @@
+# Java
+.idea/
+out/
+
+# C Sharp
+[Bb]in/
+[Oo]bj/
+
+# Python
+.vscode/
\ No newline at end of file
diff --git a/C#/prototype_csharp/.vs/prototype_csharp/DesignTimeBuild/.dtbcache.v2 b/C#/prototype_csharp/.vs/prototype_csharp/DesignTimeBuild/.dtbcache.v2
new file mode 100644
index 0000000000000000000000000000000000000000..fe90051e53643c2ba38fc63978b262dfbfcec3df
GIT binary patch
literal 283
zcmZQ$U|?Vn2ujUKO)O5Wam=e!a1IEqVUTqy&CE%0PE5{7b<WQ#NzBYE4oEC2$xO^~
zNi0cZV0BB(DNbb&3Mk6YN=+_t%gjqpEh;F=%qwAVurM-7GEYoONw%;|G)=NJH%~T8
zHncD>F*G+wHnT`IFiK5LOSG^|Hc2*1O)*O}Pck<#H8V;{F;23uv`k4(W=M3liU}=F
zEh>)5El5mDD@rVhaY-%CF3B&53Gh|$^o(&y&CQQ-R*oqs$}h<;sVqp1PcF_#EGi%@
ppqE@+P?Vp=2=X)o0|SU=g|hh=7#Kb<G<{(F!1RIn14~0g0|1;STG;>q

literal 0
HcmV?d00001

diff --git a/C#/prototype_csharp/.vs/prototype_csharp/v16/.suo b/C#/prototype_csharp/.vs/prototype_csharp/v16/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..f263dc450c62ebd33827d7b254134509403c73a6
GIT binary patch
literal 28160
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
N`k&GDKMaWdy8u=P(mntH

literal 0
HcmV?d00001

diff --git a/C#/prototype_csharp/prototype_csharp.sln b/C#/prototype_csharp/prototype_csharp.sln
new file mode 100644
index 0000000..9cfbb3e
--- /dev/null
+++ b/C#/prototype_csharp/prototype_csharp.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31129.286
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "prototype_csharp", "prototype_csharp\prototype_csharp.csproj", "{FC4A3022-58C4-430D-B12B-E58D412E95AD}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{FC4A3022-58C4-430D-B12B-E58D412E95AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FC4A3022-58C4-430D-B12B-E58D412E95AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FC4A3022-58C4-430D-B12B-E58D412E95AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FC4A3022-58C4-430D-B12B-E58D412E95AD}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {7B5C9067-968F-42C4-B4B5-138212FE9A05}
+	EndGlobalSection
+EndGlobal
diff --git a/C#/prototype_csharp/prototype_csharp/Program.cs b/C#/prototype_csharp/prototype_csharp/Program.cs
new file mode 100644
index 0000000..e0dbbb5
--- /dev/null
+++ b/C#/prototype_csharp/prototype_csharp/Program.cs
@@ -0,0 +1,27 @@
+using Microsoft.Office.Interop.Excel;
+using System;
+using System.IO;
+using Range = Microsoft.Office.Interop.Excel.Range;
+
+namespace prototype_csharp
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            string filename = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), @"../../../../../../")) + "demo.xlsx";
+            var excelApp = new Microsoft.Office.Interop.Excel.Application();
+
+            Workbook workbook = excelApp.Workbooks.Open(filename);
+            Worksheet worksheet = workbook.Worksheets[1];
+            Range range = worksheet.UsedRange;
+
+            string strResult = (string)(range.Cells[1, 1] as Range).Value2;
+            Console.WriteLine(strResult);
+
+            //Garbage Collector things
+            workbook.Close();
+            excelApp.Quit();
+        }
+    }
+}
diff --git a/C#/prototype_csharp/prototype_csharp/prototype_csharp.csproj b/C#/prototype_csharp/prototype_csharp/prototype_csharp.csproj
new file mode 100644
index 0000000..0ad361a
--- /dev/null
+++ b/C#/prototype_csharp/prototype_csharp/prototype_csharp.csproj
@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <COMReference Include="Microsoft.Office.Interop.Excel">
+      <WrapperTool>tlbimp</WrapperTool>
+      <VersionMinor>9</VersionMinor>
+      <VersionMajor>1</VersionMajor>
+      <Guid>00020813-0000-0000-c000-000000000046</Guid>
+      <Lcid>0</Lcid>
+      <Isolated>false</Isolated>
+      <EmbedInteropTypes>true</EmbedInteropTypes>
+    </COMReference>
+  </ItemGroup>
+
+</Project>
diff --git a/Java/Java.iml b/Java/Java.iml
new file mode 100644
index 0000000..b923cfd
--- /dev/null
+++ b/Java/Java.iml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="poi-ooxml-5.0.0" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/Java/src/com/company/Main.java b/Java/src/com/company/Main.java
new file mode 100644
index 0000000..f2d64df
--- /dev/null
+++ b/Java/src/com/company/Main.java
@@ -0,0 +1,25 @@
+package com.company;
+
+import org.apache.poi.ss.usermodel.*;
+
+import java.io.File;
+
+public class Main {
+
+    public static void main(String[] args) {
+	// write your code here
+        try {
+            File directory = new File(System.getProperty("user.dir"));
+            String filename = directory.getParent() + "/demo.xlsx";
+
+            Workbook workbook = WorkbookFactory.create(new File(filename));
+            Sheet sheet = workbook.getSheetAt(0);
+            Row row = sheet.getRow(1);
+            Cell cell = row.getCell(0);
+
+            System.out.println(cell.getStringCellValue());
+        } catch (Exception ex) {
+            System.out.println(ex.toString());
+        }
+    }
+}
diff --git a/Python/prototype_py.py b/Python/prototype_py.py
new file mode 100644
index 0000000..f1f27bb
--- /dev/null
+++ b/Python/prototype_py.py
@@ -0,0 +1,6 @@
+import openpyxl
+
+filename = openpyxl.load_workbook('../demo.xlsx')
+sheet = filename["Tabelle1"]
+
+print(sheet['A1'].value)
\ No newline at end of file
diff --git a/demo.xlsx b/demo.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..ea0643142c45f6e261173d00cd9d922b82fa6d39
GIT binary patch
literal 8132
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
Sf#kRtxELCk7#Q?qK|BDjVfP#W

literal 0
HcmV?d00001

-- 
GitLab