mirror of
https://gitee.com/dotnetchina/MiniExcel.git
synced 2024-11-29 18:38:08 +08:00
Add: VS MiniExcel Project
This commit is contained in:
parent
dbcecdd463
commit
385afcdbde
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,4 +1,3 @@
|
||||
~$*
|
||||
/*.suo
|
||||
.vs/
|
||||
.vscode/
|
||||
@ -15,10 +14,5 @@ NuGet.exe
|
||||
*.ide/
|
||||
*.lock.json
|
||||
*.coverage
|
||||
Test.DB.*
|
||||
TestResults/
|
||||
Dapper.Tests/*.sdf
|
||||
Dapper.Tests/SqlServerTypes/
|
||||
.dotnet/*
|
||||
BenchmarkDotNet.Artifacts/
|
||||
.idea/
|
||||
|
@ -1,32 +0,0 @@
|
||||
<Query Kind="Program">
|
||||
<NuGetReference>AngleSharp</NuGetReference>
|
||||
<NuGetReference>ClosedXML</NuGetReference>
|
||||
<NuGetReference>Dapper</NuGetReference>
|
||||
<NuGetReference>DocumentFormat.OpenXml</NuGetReference>
|
||||
<NuGetReference>Newtonsoft.Json</NuGetReference>
|
||||
<NuGetReference>System.Data.SqlClient</NuGetReference>
|
||||
<Namespace>Dapper</Namespace>
|
||||
<Namespace>Newtonsoft.Json</Namespace>
|
||||
<Namespace>System.Data.SqlClient</Namespace>
|
||||
<Namespace>System.Net.Http</Namespace>
|
||||
<Namespace>System.Threading.Tasks</Namespace>
|
||||
<Namespace>ClosedXML.Excel</Namespace>
|
||||
</Query>
|
||||
|
||||
void Main()
|
||||
{
|
||||
var path = Path.Combine(Path.GetTempPath(), $"{Guid.NewGuid()}.xlsx");
|
||||
Console.WriteLine(path);
|
||||
using (var workbook = new XLWorkbook())
|
||||
{
|
||||
var worksheet = workbook.Worksheets.Add("Sample Sheet");
|
||||
worksheet.Cell("A1").Value = "\"<>+-*//}{\\n";
|
||||
worksheet.Cell("A2").FormulaA1 = "=MID(A1, 7, 5)";
|
||||
worksheet.Cell("B1").Value = DateTime.Now;
|
||||
worksheet.Cell("B2").Value = 123;
|
||||
workbook.SaveAs(path);
|
||||
}
|
||||
Process.Start(new ProcessStartInfo() {FileName=path,UseShellExecute=true});
|
||||
}
|
||||
|
||||
// You can define other methods, fields, classes and namespaces here
|
Binary file not shown.
@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
|
||||
<Default Extension="xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" />
|
||||
<Default Extension="psmdcp" ContentType="application/vnd.openxmlformats-package.core-properties+xml" />
|
||||
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" />
|
||||
<Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml" />
|
||||
<Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" />
|
||||
<Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" />
|
||||
<Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" />
|
||||
<Override PartName="/xl/calcChain.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" />
|
||||
<Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml" />
|
||||
</Types>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/xl/workbook.xml" Id="Rd8105f21c3974f8e" />
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="/docProps/app.xml" Id="rId1" />
|
||||
<Relationship Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="/package/services/metadata/core-properties/89af8020b4e04c96bf3e760aec2cb107.psmdcp" Id="R7d57d0f603b04d3b" />
|
||||
</Relationships>
|
@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ap:Properties xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
|
||||
xmlns:ap="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties">
|
||||
<ap:Application>Microsoft Excel</ap:Application>
|
||||
<ap:TitlesOfParts>
|
||||
<vt:vector baseType="lpstr" size="3">
|
||||
<vt:lpstr>Sample Sheet</vt:lpstr>
|
||||
<vt:lpstr>Sample Sheet!Print_Area</vt:lpstr>
|
||||
<vt:lpstr>Sample Sheet!Print_Titles</vt:lpstr>
|
||||
</vt:vector>
|
||||
</ap:TitlesOfParts>
|
||||
<ap:HeadingPairs>
|
||||
<vt:vector baseType="variant" size="4">
|
||||
<vt:variant>
|
||||
<vt:lpstr>Worksheets</vt:lpstr>
|
||||
</vt:variant>
|
||||
<vt:variant>
|
||||
<vt:i4>1</vt:i4>
|
||||
</vt:variant>
|
||||
<vt:variant>
|
||||
<vt:lpstr>Named Ranges</vt:lpstr>
|
||||
</vt:variant>
|
||||
<vt:variant>
|
||||
<vt:i4>2</vt:i4>
|
||||
</vt:variant>
|
||||
</vt:vector>
|
||||
</ap:HeadingPairs>
|
||||
<ap:DocSecurity>0</ap:DocSecurity>
|
||||
<ap:ScaleCrop>false</ap:ScaleCrop>
|
||||
</ap:Properties>
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<coreProperties xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties">
|
||||
<dcterms:created xsi:type="dcterms:W3CDTF">2021-03-02T01:07:35.0522405Z</dcterms:created>
|
||||
<dcterms:modified xsi:type="dcterms:W3CDTF">2021-03-02T01:07:35.0522427Z</dcterms:modified>
|
||||
</coreProperties>
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="/xl/sharedStrings.xml" Id="rId3" />
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="/xl/styles.xml" Id="rId4" />
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="/xl/worksheets/sheet1.xml" Id="rId2" />
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain" Target="/xl/calcChain.xml" Id="rId5" />
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="/xl/theme/theme1.xml" Id="rId6" />
|
||||
</Relationships>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<x:calcChain xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<x:c r="A2" i="2" />
|
||||
</x:calcChain>
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<x:sst count="1" uniqueCount="1"
|
||||
xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<x:si>
|
||||
<x:t>"<>+-*//}{\n</x:t>
|
||||
</x:si>
|
||||
</x:sst>
|
@ -1,63 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<x:styleSheet xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<x:numFmts count="1">
|
||||
<x:numFmt numFmtId="0" formatCode="" />
|
||||
</x:numFmts>
|
||||
<x:fonts count="1">
|
||||
<x:font>
|
||||
<x:vertAlign val="baseline" />
|
||||
<x:sz val="11" />
|
||||
<x:color rgb="FF000000" />
|
||||
<x:name val="Calibri" />
|
||||
<x:family val="2" />
|
||||
</x:font>
|
||||
</x:fonts>
|
||||
<x:fills count="2">
|
||||
<x:fill>
|
||||
<x:patternFill patternType="none" />
|
||||
</x:fill>
|
||||
<x:fill>
|
||||
<x:patternFill patternType="gray125" />
|
||||
</x:fill>
|
||||
</x:fills>
|
||||
<x:borders count="1">
|
||||
<x:border diagonalUp="0" diagonalDown="0">
|
||||
<x:left style="none">
|
||||
<x:color rgb="FF000000" />
|
||||
</x:left>
|
||||
<x:right style="none">
|
||||
<x:color rgb="FF000000" />
|
||||
</x:right>
|
||||
<x:top style="none">
|
||||
<x:color rgb="FF000000" />
|
||||
</x:top>
|
||||
<x:bottom style="none">
|
||||
<x:color rgb="FF000000" />
|
||||
</x:bottom>
|
||||
<x:diagonal style="none">
|
||||
<x:color rgb="FF000000" />
|
||||
</x:diagonal>
|
||||
</x:border>
|
||||
</x:borders>
|
||||
<x:cellStyleXfs count="2">
|
||||
<x:xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyNumberFormat="1" applyFill="1" applyBorder="0" applyAlignment="1" applyProtection="1">
|
||||
<x:protection locked="1" hidden="0" />
|
||||
</x:xf>
|
||||
<x:xf numFmtId="22" fontId="0" fillId="0" borderId="0" applyNumberFormat="1" applyFill="1" applyBorder="0" applyAlignment="1" applyProtection="1">
|
||||
<x:protection locked="1" hidden="0" />
|
||||
</x:xf>
|
||||
</x:cellStyleXfs>
|
||||
<x:cellXfs count="2">
|
||||
<x:xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1" applyFill="1" applyBorder="0" applyAlignment="1" applyProtection="1">
|
||||
<x:alignment horizontal="general" vertical="bottom" textRotation="0" wrapText="0" indent="0" relativeIndent="0" justifyLastLine="0" shrinkToFit="0" readingOrder="0" />
|
||||
<x:protection locked="1" hidden="0" />
|
||||
</x:xf>
|
||||
<x:xf numFmtId="22" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1" applyFill="1" applyBorder="0" applyAlignment="1" applyProtection="1">
|
||||
<x:alignment horizontal="general" vertical="bottom" textRotation="0" wrapText="0" indent="0" relativeIndent="0" justifyLastLine="0" shrinkToFit="0" readingOrder="0" />
|
||||
<x:protection locked="1" hidden="0" />
|
||||
</x:xf>
|
||||
</x:cellXfs>
|
||||
<x:cellStyles count="1">
|
||||
<x:cellStyle name="Normal" xfId="0" builtinId="0" />
|
||||
</x:cellStyles>
|
||||
</x:styleSheet>
|
@ -1,281 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">
|
||||
<a:themeElements>
|
||||
<a:clrScheme name="Office">
|
||||
<a:dk1>
|
||||
<a:sysClr val="windowText" lastClr="000000" />
|
||||
</a:dk1>
|
||||
<a:lt1>
|
||||
<a:sysClr val="window" lastClr="FFFFFF" />
|
||||
</a:lt1>
|
||||
<a:dk2>
|
||||
<a:srgbClr val="1F497D" />
|
||||
</a:dk2>
|
||||
<a:lt2>
|
||||
<a:srgbClr val="EEECE1" />
|
||||
</a:lt2>
|
||||
<a:accent1>
|
||||
<a:srgbClr val="4F81BD" />
|
||||
</a:accent1>
|
||||
<a:accent2>
|
||||
<a:srgbClr val="C0504D" />
|
||||
</a:accent2>
|
||||
<a:accent3>
|
||||
<a:srgbClr val="9BBB59" />
|
||||
</a:accent3>
|
||||
<a:accent4>
|
||||
<a:srgbClr val="8064A2" />
|
||||
</a:accent4>
|
||||
<a:accent5>
|
||||
<a:srgbClr val="4BACC6" />
|
||||
</a:accent5>
|
||||
<a:accent6>
|
||||
<a:srgbClr val="F79646" />
|
||||
</a:accent6>
|
||||
<a:hlink>
|
||||
<a:srgbClr val="0000FF" />
|
||||
</a:hlink>
|
||||
<a:folHlink>
|
||||
<a:srgbClr val="800080" />
|
||||
</a:folHlink>
|
||||
</a:clrScheme>
|
||||
<a:fontScheme name="Office">
|
||||
<a:majorFont>
|
||||
<a:latin typeface="Cambria" />
|
||||
<a:ea typeface="" />
|
||||
<a:cs typeface="" />
|
||||
<a:font script="Jpan" typeface="MS Pゴシック" />
|
||||
<a:font script="Hang" typeface="맑은 고딕" />
|
||||
<a:font script="Hans" typeface="宋体" />
|
||||
<a:font script="Hant" typeface="新細明體" />
|
||||
<a:font script="Arab" typeface="Times New Roman" />
|
||||
<a:font script="Hebr" typeface="Times New Roman" />
|
||||
<a:font script="Thai" typeface="Tahoma" />
|
||||
<a:font script="Ethi" typeface="Nyala" />
|
||||
<a:font script="Beng" typeface="Vrinda" />
|
||||
<a:font script="Gujr" typeface="Shruti" />
|
||||
<a:font script="Khmr" typeface="MoolBoran" />
|
||||
<a:font script="Knda" typeface="Tunga" />
|
||||
<a:font script="Guru" typeface="Raavi" />
|
||||
<a:font script="Cans" typeface="Euphemia" />
|
||||
<a:font script="Cher" typeface="Plantagenet Cherokee" />
|
||||
<a:font script="Yiii" typeface="Microsoft Yi Baiti" />
|
||||
<a:font script="Tibt" typeface="Microsoft Himalaya" />
|
||||
<a:font script="Thaa" typeface="MV Boli" />
|
||||
<a:font script="Deva" typeface="Mangal" />
|
||||
<a:font script="Telu" typeface="Gautami" />
|
||||
<a:font script="Taml" typeface="Latha" />
|
||||
<a:font script="Syrc" typeface="Estrangelo Edessa" />
|
||||
<a:font script="Orya" typeface="Kalinga" />
|
||||
<a:font script="Mlym" typeface="Kartika" />
|
||||
<a:font script="Laoo" typeface="DokChampa" />
|
||||
<a:font script="Sinh" typeface="Iskoola Pota" />
|
||||
<a:font script="Mong" typeface="Mongolian Baiti" />
|
||||
<a:font script="Viet" typeface="Times New Roman" />
|
||||
<a:font script="Uigh" typeface="Microsoft Uighur" />
|
||||
</a:majorFont>
|
||||
<a:minorFont>
|
||||
<a:latin typeface="Calibri" />
|
||||
<a:ea typeface="" />
|
||||
<a:cs typeface="" />
|
||||
<a:font script="Jpan" typeface="MS Pゴシック" />
|
||||
<a:font script="Hang" typeface="맑은 고딕" />
|
||||
<a:font script="Hans" typeface="宋体" />
|
||||
<a:font script="Hant" typeface="新細明體" />
|
||||
<a:font script="Arab" typeface="Arial" />
|
||||
<a:font script="Hebr" typeface="Arial" />
|
||||
<a:font script="Thai" typeface="Tahoma" />
|
||||
<a:font script="Ethi" typeface="Nyala" />
|
||||
<a:font script="Beng" typeface="Vrinda" />
|
||||
<a:font script="Gujr" typeface="Shruti" />
|
||||
<a:font script="Khmr" typeface="DaunPenh" />
|
||||
<a:font script="Knda" typeface="Tunga" />
|
||||
<a:font script="Guru" typeface="Raavi" />
|
||||
<a:font script="Cans" typeface="Euphemia" />
|
||||
<a:font script="Cher" typeface="Plantagenet Cherokee" />
|
||||
<a:font script="Yiii" typeface="Microsoft Yi Baiti" />
|
||||
<a:font script="Tibt" typeface="Microsoft Himalaya" />
|
||||
<a:font script="Thaa" typeface="MV Boli" />
|
||||
<a:font script="Deva" typeface="Mangal" />
|
||||
<a:font script="Telu" typeface="Gautami" />
|
||||
<a:font script="Taml" typeface="Latha" />
|
||||
<a:font script="Syrc" typeface="Estrangelo Edessa" />
|
||||
<a:font script="Orya" typeface="Kalinga" />
|
||||
<a:font script="Mlym" typeface="Kartika" />
|
||||
<a:font script="Laoo" typeface="DokChampa" />
|
||||
<a:font script="Sinh" typeface="Iskoola Pota" />
|
||||
<a:font script="Mong" typeface="Mongolian Baiti" />
|
||||
<a:font script="Viet" typeface="Arial" />
|
||||
<a:font script="Uigh" typeface="Microsoft Uighur" />
|
||||
</a:minorFont>
|
||||
</a:fontScheme>
|
||||
<a:fmtScheme name="Office">
|
||||
<a:fillStyleLst>
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr" />
|
||||
</a:solidFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="50000" />
|
||||
<a:satMod val="300000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="35000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="37000" />
|
||||
<a:satMod val="300000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="15000" />
|
||||
<a:satMod val="350000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:lin ang="16200000" scaled="1" />
|
||||
</a:gradFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:shade val="51000" />
|
||||
<a:satMod val="130000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="80000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:shade val="93000" />
|
||||
<a:satMod val="130000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:shade val="94000" />
|
||||
<a:satMod val="135000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:lin ang="16200000" scaled="0" />
|
||||
</a:gradFill>
|
||||
</a:fillStyleLst>
|
||||
<a:lnStyleLst>
|
||||
<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr">
|
||||
<a:shade val="95000" />
|
||||
<a:satMod val="105000" />
|
||||
</a:schemeClr>
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid" />
|
||||
</a:ln>
|
||||
<a:ln w="25400" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr" />
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid" />
|
||||
</a:ln>
|
||||
<a:ln w="38100" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr" />
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid" />
|
||||
</a:ln>
|
||||
</a:lnStyleLst>
|
||||
<a:effectStyleLst>
|
||||
<a:effectStyle>
|
||||
<a:effectLst>
|
||||
<a:outerShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0">
|
||||
<a:srgbClr val="000000">
|
||||
<a:alpha val="38000" />
|
||||
</a:srgbClr>
|
||||
</a:outerShdw>
|
||||
</a:effectLst>
|
||||
</a:effectStyle>
|
||||
<a:effectStyle>
|
||||
<a:effectLst>
|
||||
<a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0">
|
||||
<a:srgbClr val="000000">
|
||||
<a:alpha val="35000" />
|
||||
</a:srgbClr>
|
||||
</a:outerShdw>
|
||||
</a:effectLst>
|
||||
</a:effectStyle>
|
||||
<a:effectStyle>
|
||||
<a:effectLst>
|
||||
<a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0">
|
||||
<a:srgbClr val="000000">
|
||||
<a:alpha val="35000" />
|
||||
</a:srgbClr>
|
||||
</a:outerShdw>
|
||||
</a:effectLst>
|
||||
<a:scene3d>
|
||||
<a:camera prst="orthographicFront">
|
||||
<a:rot lat="0" lon="0" rev="0" />
|
||||
</a:camera>
|
||||
<a:lightRig rig="threePt" dir="t">
|
||||
<a:rot lat="0" lon="0" rev="1200000" />
|
||||
</a:lightRig>
|
||||
</a:scene3d>
|
||||
<a:sp3d>
|
||||
<a:bevelT w="63500" h="25400" />
|
||||
</a:sp3d>
|
||||
</a:effectStyle>
|
||||
</a:effectStyleLst>
|
||||
<a:bgFillStyleLst>
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr" />
|
||||
</a:solidFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="40000" />
|
||||
<a:satMod val="350000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="40000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="45000" />
|
||||
<a:shade val="99000" />
|
||||
<a:satMod val="350000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:shade val="20000" />
|
||||
<a:satMod val="255000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:path path="circle">
|
||||
<a:fillToRect l="50000" t="-80000" r="50000" b="180000" />
|
||||
</a:path>
|
||||
</a:gradFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="80000" />
|
||||
<a:satMod val="300000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:shade val="30000" />
|
||||
<a:satMod val="200000" />
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:path path="circle">
|
||||
<a:fillToRect l="50000" t="50000" r="50000" b="50000" />
|
||||
</a:path>
|
||||
</a:gradFill>
|
||||
</a:bgFillStyleLst>
|
||||
</a:fmtScheme>
|
||||
</a:themeElements>
|
||||
<a:objectDefaults />
|
||||
<a:extraClrSchemeLst />
|
||||
</a:theme>
|
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<x:workbook xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
|
||||
xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<x:workbookPr codeName="ThisWorkbook" />
|
||||
<x:bookViews>
|
||||
<x:workbookView firstSheet="0" activeTab="0" />
|
||||
</x:bookViews>
|
||||
<x:sheets>
|
||||
<x:sheet name="Sample Sheet" sheetId="2" r:id="rId2" />
|
||||
</x:sheets>
|
||||
<x:definedNames />
|
||||
<x:calcPr calcId="125725" />
|
||||
</x:workbook>
|
@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<x:worksheet xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
|
||||
xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<x:sheetPr>
|
||||
<x:outlinePr summaryBelow="1" summaryRight="1" />
|
||||
</x:sheetPr>
|
||||
<x:dimension ref="A1:B2" />
|
||||
<x:sheetViews>
|
||||
<x:sheetView workbookViewId="0" />
|
||||
</x:sheetViews>
|
||||
<x:sheetFormatPr defaultRowHeight="15" />
|
||||
<x:sheetData>
|
||||
<x:row r="1" spans="1:2">
|
||||
<x:c r="A1" s="0" t="s">
|
||||
<x:v>0</x:v>
|
||||
</x:c>
|
||||
<x:c r="B1" s="1">
|
||||
<x:v>44257.3802667361</x:v>
|
||||
</x:c>
|
||||
</x:row>
|
||||
<x:row r="2" spans="1:2">
|
||||
<x:c r="A2" s="0">
|
||||
<x:f>MID(A1, 7, 5)</x:f>
|
||||
</x:c>
|
||||
<x:c r="B2" s="0" t="n">
|
||||
<x:v>123</x:v>
|
||||
</x:c>
|
||||
</x:row>
|
||||
</x:sheetData>
|
||||
<x:printOptions horizontalCentered="0" verticalCentered="0" headings="0" gridLines="0" />
|
||||
<x:pageMargins left="0.75" right="0.75" top="0.75" bottom="0.5" header="0.5" footer="0.75" />
|
||||
<x:pageSetup paperSize="1" scale="100" pageOrder="downThenOver" orientation="default" blackAndWhite="0" draft="0" cellComments="none" errors="displayed" />
|
||||
<x:headerFooter />
|
||||
<x:tableParts count="0" />
|
||||
</x:worksheet>
|
@ -1,35 +0,0 @@
|
||||
<Query Kind="Program">
|
||||
<NuGetReference>AngleSharp</NuGetReference>
|
||||
<NuGetReference>Dapper</NuGetReference>
|
||||
<NuGetReference>DocumentFormat.OpenXml</NuGetReference>
|
||||
<NuGetReference Version="4.5.3">EPPlus</NuGetReference>
|
||||
<NuGetReference>Newtonsoft.Json</NuGetReference>
|
||||
<NuGetReference>System.Data.SqlClient</NuGetReference>
|
||||
<Namespace>Dapper</Namespace>
|
||||
<Namespace>Newtonsoft.Json</Namespace>
|
||||
<Namespace>System.Data.SqlClient</Namespace>
|
||||
<Namespace>System.Net.Http</Namespace>
|
||||
<Namespace>System.Threading.Tasks</Namespace>
|
||||
<Namespace>OfficeOpenXml</Namespace>
|
||||
</Query>
|
||||
|
||||
void Main()
|
||||
{
|
||||
var path = Path.Combine(Path.GetTempPath(), $"{Guid.NewGuid()}.xlsx");
|
||||
Console.WriteLine(path);
|
||||
using (var p = new ExcelPackage())
|
||||
{
|
||||
//A workbook must have at least on cell, so lets add one...
|
||||
var ws = p.Workbook.Worksheets.Add("Sheet1");
|
||||
//To set values in the spreadsheet use the Cells indexer.
|
||||
|
||||
ws.Cells["A1"].Value = "\"<>+-*//}{\\n";
|
||||
ws.Cells["A2"].Formula = "=MID(A1, 7, 5)";
|
||||
ws.Cells["B1"].Value = DateTime.Now;
|
||||
ws.Cells["B2"].Value = 123;
|
||||
//Save the new workbook. We haven't specified the filename so use the Save as method.
|
||||
p.SaveAs(new FileInfo(path));
|
||||
}
|
||||
|
||||
Process.Start(new ProcessStartInfo() {FileName=path,UseShellExecute=true});
|
||||
}
|
Binary file not shown.
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
|
||||
<Default ContentType="application/xml" Extension="xml"/>
|
||||
<Default ContentType="application/vnd.openxmlformats-package.relationships+xml" Extension="rels"/>
|
||||
<Override ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" PartName="/xl/workbook.xml" />
|
||||
<Override ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" PartName="/xl/worksheets/sheet1.xml" />
|
||||
<Override ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" PartName="/xl/styles.xml" />
|
||||
<Override ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" PartName="/xl/sharedStrings.xml" />
|
||||
</Types>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/>
|
||||
</Relationships>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/>
|
||||
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/>
|
||||
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="sharedStrings.xml"/>
|
||||
</Relationships>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="1" uniqueCount="1">
|
||||
<si>
|
||||
<t>"<>+-*//}{\n</t>
|
||||
</si>
|
||||
</sst>
|
@ -1,37 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<numFmts count="0" />
|
||||
<fonts count="1">
|
||||
<font>
|
||||
<sz val="11" />
|
||||
<name val="Calibri" />
|
||||
</font>
|
||||
</fonts>
|
||||
<fills count="2">
|
||||
<fill>
|
||||
<patternFill patternType="none" />
|
||||
</fill>
|
||||
<fill>
|
||||
<patternFill patternType="gray125" />
|
||||
</fill>
|
||||
</fills>
|
||||
<borders count="1">
|
||||
<border>
|
||||
<left />
|
||||
<right />
|
||||
<top />
|
||||
<bottom />
|
||||
<diagonal />
|
||||
</border>
|
||||
</borders>
|
||||
<cellStyleXfs count="1">
|
||||
<xf numFmtId="0" fontId="0" />
|
||||
</cellStyleXfs>
|
||||
<cellXfs count="1">
|
||||
<xf numFmtId="0" applyNumberFormat="1" fontId="0" applyFont="1" xfId="0" applyProtection="1" />
|
||||
</cellXfs>
|
||||
<cellStyles count="1">
|
||||
<cellStyle name="Normal" xfId="0" builtinId="0" />
|
||||
</cellStyles>
|
||||
<dxfs count="0" />
|
||||
</styleSheet>
|
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<workbook xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
|
||||
xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<bookViews>
|
||||
<workbookView />
|
||||
</bookViews>
|
||||
<sheets>
|
||||
<sheet name="Sheet1" sheetId="1" r:id="rId1" />
|
||||
</sheets>
|
||||
<calcPr fullCalcOnLoad="1" />
|
||||
</workbook>
|
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<worksheet xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
|
||||
xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<dimension ref="A1:B2" />
|
||||
<sheetViews>
|
||||
<sheetView workbookViewId="0" />
|
||||
</sheetViews>
|
||||
<sheetFormatPr defaultRowHeight="15" />
|
||||
<sheetData>
|
||||
<row r="1">
|
||||
<c r="A1" s="0" t="s">
|
||||
<v>0</v>
|
||||
</c>
|
||||
<c r="B1" s="0">
|
||||
<v>44257.384891898146</v>
|
||||
</c>
|
||||
</row>
|
||||
<row r="2">
|
||||
<c r="A2" s="0">
|
||||
<f>=MID(A1, 7, 5)</f>
|
||||
</c>
|
||||
<c r="B2" s="0">
|
||||
<v>123</v>
|
||||
</c>
|
||||
</row>
|
||||
</sheetData>
|
||||
<headerFooter />
|
||||
</worksheet>
|
Binary file not shown.
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
|
||||
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
|
||||
<Default Extension="xml" ContentType="application/xml"/>
|
||||
<Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/>
|
||||
<Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/>
|
||||
<Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/>
|
||||
<Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/>
|
||||
<Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"/>
|
||||
<Override PartName="/xl/calcChain.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml"/>
|
||||
<Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/>
|
||||
<Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/>
|
||||
</Types>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
|
||||
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
|
||||
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/>
|
||||
</Relationships>
|
@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
|
||||
xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
|
||||
<Application>Microsoft Excel</Application>
|
||||
<DocSecurity>0</DocSecurity>
|
||||
<ScaleCrop>false</ScaleCrop>
|
||||
<HeadingPairs>
|
||||
<vt:vector size="2" baseType="variant">
|
||||
<vt:variant>
|
||||
<vt:lpstr>Worksheets</vt:lpstr>
|
||||
</vt:variant>
|
||||
<vt:variant>
|
||||
<vt:i4>1</vt:i4>
|
||||
</vt:variant>
|
||||
</vt:vector>
|
||||
</HeadingPairs>
|
||||
<TitlesOfParts>
|
||||
<vt:vector size="1" baseType="lpstr">
|
||||
<vt:lpstr>Sheet1</vt:lpstr>
|
||||
</vt:vector>
|
||||
</TitlesOfParts>
|
||||
<Company></Company>
|
||||
<LinksUpToDate>false</LinksUpToDate>
|
||||
<SharedDoc>false</SharedDoc>
|
||||
<HyperlinksChanged>false</HyperlinksChanged>
|
||||
<AppVersion>16.0300</AppVersion>
|
||||
</Properties>
|
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||
xmlns:dcmitype="http://purl.org/dc/dcmitype/"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<dc:creator>Wei</dc:creator>
|
||||
<cp:lastModifiedBy>Wei</cp:lastModifiedBy>
|
||||
<dcterms:created xsi:type="dcterms:W3CDTF">2021-03-02T02:10:42Z</dcterms:created>
|
||||
<dcterms:modified xsi:type="dcterms:W3CDTF">2021-03-02T02:12:30Z</dcterms:modified>
|
||||
</cp:coreProperties>
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/>
|
||||
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/>
|
||||
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/>
|
||||
<Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain" Target="calcChain.xml"/>
|
||||
<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="sharedStrings.xml"/>
|
||||
</Relationships>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<calcChain xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<c r="A2" i="1" l="1"/>
|
||||
</calcChain>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="1" uniqueCount="1">
|
||||
<si>
|
||||
<t>\"<>+-*//}{\\n</t>
|
||||
</si>
|
||||
</sst>
|
@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2 xr"
|
||||
xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"
|
||||
xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main"
|
||||
xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision">
|
||||
<fonts count="1" x14ac:knownFonts="1">
|
||||
<font>
|
||||
<sz val="11"/>
|
||||
<color theme="1"/>
|
||||
<name val="Calibri"/>
|
||||
<family val="2"/>
|
||||
<scheme val="minor"/>
|
||||
</font>
|
||||
</fonts>
|
||||
<fills count="2">
|
||||
<fill>
|
||||
<patternFill patternType="none"/>
|
||||
</fill>
|
||||
<fill>
|
||||
<patternFill patternType="gray125"/>
|
||||
</fill>
|
||||
</fills>
|
||||
<borders count="1">
|
||||
<border>
|
||||
<left/>
|
||||
<right/>
|
||||
<top/>
|
||||
<bottom/>
|
||||
<diagonal/>
|
||||
</border>
|
||||
</borders>
|
||||
<cellStyleXfs count="1">
|
||||
<xf numFmtId="0" fontId="0" fillId="0" borderId="0"/>
|
||||
</cellStyleXfs>
|
||||
<cellXfs count="2">
|
||||
<xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/>
|
||||
<xf numFmtId="14" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/>
|
||||
</cellXfs>
|
||||
<cellStyles count="1">
|
||||
<cellStyle name="Normal" xfId="0" builtinId="0"/>
|
||||
</cellStyles>
|
||||
<dxfs count="0"/>
|
||||
<tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/>
|
||||
<extLst>
|
||||
<ext uri="{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}"
|
||||
xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main">
|
||||
<x14:slicerStyles defaultSlicerStyle="SlicerStyleLight1"/>
|
||||
</ext>
|
||||
<ext uri="{9260A510-F301-46a8-8635-F512D64BE5F5}"
|
||||
xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main">
|
||||
<x15:timelineStyles defaultTimelineStyle="TimeSlicerStyleLight1"/>
|
||||
</ext>
|
||||
</extLst>
|
||||
</styleSheet>
|
@ -1,293 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">
|
||||
<a:themeElements>
|
||||
<a:clrScheme name="Office">
|
||||
<a:dk1>
|
||||
<a:sysClr val="windowText" lastClr="000000"/>
|
||||
</a:dk1>
|
||||
<a:lt1>
|
||||
<a:sysClr val="window" lastClr="FFFFFF"/>
|
||||
</a:lt1>
|
||||
<a:dk2>
|
||||
<a:srgbClr val="44546A"/>
|
||||
</a:dk2>
|
||||
<a:lt2>
|
||||
<a:srgbClr val="E7E6E6"/>
|
||||
</a:lt2>
|
||||
<a:accent1>
|
||||
<a:srgbClr val="4472C4"/>
|
||||
</a:accent1>
|
||||
<a:accent2>
|
||||
<a:srgbClr val="ED7D31"/>
|
||||
</a:accent2>
|
||||
<a:accent3>
|
||||
<a:srgbClr val="A5A5A5"/>
|
||||
</a:accent3>
|
||||
<a:accent4>
|
||||
<a:srgbClr val="FFC000"/>
|
||||
</a:accent4>
|
||||
<a:accent5>
|
||||
<a:srgbClr val="5B9BD5"/>
|
||||
</a:accent5>
|
||||
<a:accent6>
|
||||
<a:srgbClr val="70AD47"/>
|
||||
</a:accent6>
|
||||
<a:hlink>
|
||||
<a:srgbClr val="0563C1"/>
|
||||
</a:hlink>
|
||||
<a:folHlink>
|
||||
<a:srgbClr val="954F72"/>
|
||||
</a:folHlink>
|
||||
</a:clrScheme>
|
||||
<a:fontScheme name="Office">
|
||||
<a:majorFont>
|
||||
<a:latin typeface="Calibri Light" panose="020F0302020204030204"/>
|
||||
<a:ea typeface=""/>
|
||||
<a:cs typeface=""/>
|
||||
<a:font script="Jpan" typeface="游ゴシック Light"/>
|
||||
<a:font script="Hang" typeface="맑은 고딕"/>
|
||||
<a:font script="Hans" typeface="等线 Light"/>
|
||||
<a:font script="Hant" typeface="新細明體"/>
|
||||
<a:font script="Arab" typeface="Times New Roman"/>
|
||||
<a:font script="Hebr" typeface="Times New Roman"/>
|
||||
<a:font script="Thai" typeface="Tahoma"/>
|
||||
<a:font script="Ethi" typeface="Nyala"/>
|
||||
<a:font script="Beng" typeface="Vrinda"/>
|
||||
<a:font script="Gujr" typeface="Shruti"/>
|
||||
<a:font script="Khmr" typeface="MoolBoran"/>
|
||||
<a:font script="Knda" typeface="Tunga"/>
|
||||
<a:font script="Guru" typeface="Raavi"/>
|
||||
<a:font script="Cans" typeface="Euphemia"/>
|
||||
<a:font script="Cher" typeface="Plantagenet Cherokee"/>
|
||||
<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
|
||||
<a:font script="Tibt" typeface="Microsoft Himalaya"/>
|
||||
<a:font script="Thaa" typeface="MV Boli"/>
|
||||
<a:font script="Deva" typeface="Mangal"/>
|
||||
<a:font script="Telu" typeface="Gautami"/>
|
||||
<a:font script="Taml" typeface="Latha"/>
|
||||
<a:font script="Syrc" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Orya" typeface="Kalinga"/>
|
||||
<a:font script="Mlym" typeface="Kartika"/>
|
||||
<a:font script="Laoo" typeface="DokChampa"/>
|
||||
<a:font script="Sinh" typeface="Iskoola Pota"/>
|
||||
<a:font script="Mong" typeface="Mongolian Baiti"/>
|
||||
<a:font script="Viet" typeface="Times New Roman"/>
|
||||
<a:font script="Uigh" typeface="Microsoft Uighur"/>
|
||||
<a:font script="Geor" typeface="Sylfaen"/>
|
||||
<a:font script="Armn" typeface="Arial"/>
|
||||
<a:font script="Bugi" typeface="Leelawadee UI"/>
|
||||
<a:font script="Bopo" typeface="Microsoft JhengHei"/>
|
||||
<a:font script="Java" typeface="Javanese Text"/>
|
||||
<a:font script="Lisu" typeface="Segoe UI"/>
|
||||
<a:font script="Mymr" typeface="Myanmar Text"/>
|
||||
<a:font script="Nkoo" typeface="Ebrima"/>
|
||||
<a:font script="Olck" typeface="Nirmala UI"/>
|
||||
<a:font script="Osma" typeface="Ebrima"/>
|
||||
<a:font script="Phag" typeface="Phagspa"/>
|
||||
<a:font script="Syrn" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Syrj" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Syre" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Sora" typeface="Nirmala UI"/>
|
||||
<a:font script="Tale" typeface="Microsoft Tai Le"/>
|
||||
<a:font script="Talu" typeface="Microsoft New Tai Lue"/>
|
||||
<a:font script="Tfng" typeface="Ebrima"/>
|
||||
</a:majorFont>
|
||||
<a:minorFont>
|
||||
<a:latin typeface="Calibri" panose="020F0502020204030204"/>
|
||||
<a:ea typeface=""/>
|
||||
<a:cs typeface=""/>
|
||||
<a:font script="Jpan" typeface="游ゴシック"/>
|
||||
<a:font script="Hang" typeface="맑은 고딕"/>
|
||||
<a:font script="Hans" typeface="等线"/>
|
||||
<a:font script="Hant" typeface="新細明體"/>
|
||||
<a:font script="Arab" typeface="Arial"/>
|
||||
<a:font script="Hebr" typeface="Arial"/>
|
||||
<a:font script="Thai" typeface="Tahoma"/>
|
||||
<a:font script="Ethi" typeface="Nyala"/>
|
||||
<a:font script="Beng" typeface="Vrinda"/>
|
||||
<a:font script="Gujr" typeface="Shruti"/>
|
||||
<a:font script="Khmr" typeface="DaunPenh"/>
|
||||
<a:font script="Knda" typeface="Tunga"/>
|
||||
<a:font script="Guru" typeface="Raavi"/>
|
||||
<a:font script="Cans" typeface="Euphemia"/>
|
||||
<a:font script="Cher" typeface="Plantagenet Cherokee"/>
|
||||
<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
|
||||
<a:font script="Tibt" typeface="Microsoft Himalaya"/>
|
||||
<a:font script="Thaa" typeface="MV Boli"/>
|
||||
<a:font script="Deva" typeface="Mangal"/>
|
||||
<a:font script="Telu" typeface="Gautami"/>
|
||||
<a:font script="Taml" typeface="Latha"/>
|
||||
<a:font script="Syrc" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Orya" typeface="Kalinga"/>
|
||||
<a:font script="Mlym" typeface="Kartika"/>
|
||||
<a:font script="Laoo" typeface="DokChampa"/>
|
||||
<a:font script="Sinh" typeface="Iskoola Pota"/>
|
||||
<a:font script="Mong" typeface="Mongolian Baiti"/>
|
||||
<a:font script="Viet" typeface="Arial"/>
|
||||
<a:font script="Uigh" typeface="Microsoft Uighur"/>
|
||||
<a:font script="Geor" typeface="Sylfaen"/>
|
||||
<a:font script="Armn" typeface="Arial"/>
|
||||
<a:font script="Bugi" typeface="Leelawadee UI"/>
|
||||
<a:font script="Bopo" typeface="Microsoft JhengHei"/>
|
||||
<a:font script="Java" typeface="Javanese Text"/>
|
||||
<a:font script="Lisu" typeface="Segoe UI"/>
|
||||
<a:font script="Mymr" typeface="Myanmar Text"/>
|
||||
<a:font script="Nkoo" typeface="Ebrima"/>
|
||||
<a:font script="Olck" typeface="Nirmala UI"/>
|
||||
<a:font script="Osma" typeface="Ebrima"/>
|
||||
<a:font script="Phag" typeface="Phagspa"/>
|
||||
<a:font script="Syrn" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Syrj" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Syre" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Sora" typeface="Nirmala UI"/>
|
||||
<a:font script="Tale" typeface="Microsoft Tai Le"/>
|
||||
<a:font script="Talu" typeface="Microsoft New Tai Lue"/>
|
||||
<a:font script="Tfng" typeface="Ebrima"/>
|
||||
</a:minorFont>
|
||||
</a:fontScheme>
|
||||
<a:fmtScheme name="Office">
|
||||
<a:fillStyleLst>
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:lumMod val="110000"/>
|
||||
<a:satMod val="105000"/>
|
||||
<a:tint val="67000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="50000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:lumMod val="105000"/>
|
||||
<a:satMod val="103000"/>
|
||||
<a:tint val="73000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:lumMod val="105000"/>
|
||||
<a:satMod val="109000"/>
|
||||
<a:tint val="81000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:lin ang="5400000" scaled="0"/>
|
||||
</a:gradFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:satMod val="103000"/>
|
||||
<a:lumMod val="102000"/>
|
||||
<a:tint val="94000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="50000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:satMod val="110000"/>
|
||||
<a:lumMod val="100000"/>
|
||||
<a:shade val="100000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:lumMod val="99000"/>
|
||||
<a:satMod val="120000"/>
|
||||
<a:shade val="78000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:lin ang="5400000" scaled="0"/>
|
||||
</a:gradFill>
|
||||
</a:fillStyleLst>
|
||||
<a:lnStyleLst>
|
||||
<a:ln w="6350" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid"/>
|
||||
<a:miter lim="800000"/>
|
||||
</a:ln>
|
||||
<a:ln w="12700" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid"/>
|
||||
<a:miter lim="800000"/>
|
||||
</a:ln>
|
||||
<a:ln w="19050" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid"/>
|
||||
<a:miter lim="800000"/>
|
||||
</a:ln>
|
||||
</a:lnStyleLst>
|
||||
<a:effectStyleLst>
|
||||
<a:effectStyle>
|
||||
<a:effectLst/>
|
||||
</a:effectStyle>
|
||||
<a:effectStyle>
|
||||
<a:effectLst/>
|
||||
</a:effectStyle>
|
||||
<a:effectStyle>
|
||||
<a:effectLst>
|
||||
<a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0">
|
||||
<a:srgbClr val="000000">
|
||||
<a:alpha val="63000"/>
|
||||
</a:srgbClr>
|
||||
</a:outerShdw>
|
||||
</a:effectLst>
|
||||
</a:effectStyle>
|
||||
</a:effectStyleLst>
|
||||
<a:bgFillStyleLst>
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="95000"/>
|
||||
<a:satMod val="170000"/>
|
||||
</a:schemeClr>
|
||||
</a:solidFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="93000"/>
|
||||
<a:satMod val="150000"/>
|
||||
<a:shade val="98000"/>
|
||||
<a:lumMod val="102000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="50000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="98000"/>
|
||||
<a:satMod val="130000"/>
|
||||
<a:shade val="90000"/>
|
||||
<a:lumMod val="103000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:shade val="63000"/>
|
||||
<a:satMod val="120000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:lin ang="5400000" scaled="0"/>
|
||||
</a:gradFill>
|
||||
</a:bgFillStyleLst>
|
||||
</a:fmtScheme>
|
||||
</a:themeElements>
|
||||
<a:objectDefaults/>
|
||||
<a:extraClrSchemeLst/>
|
||||
<a:extLst>
|
||||
<a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}">
|
||||
<thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"/>
|
||||
</a:ext>
|
||||
</a:extLst>
|
||||
</a:theme>
|
@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
||||
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x15 xr xr6 xr10 xr2"
|
||||
xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"
|
||||
xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision"
|
||||
xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6"
|
||||
xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10"
|
||||
xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2">
|
||||
<fileVersion appName="xl" lastEdited="7" lowestEdited="7" rupBuild="23628"/>
|
||||
<workbookPr defaultThemeVersion="166925"/>
|
||||
<mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
|
||||
<mc:Choice Requires="x15">
|
||||
<x15ac:absPath url="D:\git\MiniExcel\Samples\Xlsx\Office365_InsertCellValues\"
|
||||
xmlns:x15ac="http://schemas.microsoft.com/office/spreadsheetml/2010/11/ac"/>
|
||||
</mc:Choice>
|
||||
</mc:AlternateContent>
|
||||
<xr:revisionPtr revIDLastSave="0" documentId="8_{CAC598E6-93FF-4C6B-ACD2-1D0E5D990AD2}" xr6:coauthVersionLast="46" xr6:coauthVersionMax="46" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}"/>
|
||||
<bookViews>
|
||||
<workbookView xWindow="-108" yWindow="-108" windowWidth="23256" windowHeight="12720" xr2:uid="{7D47EB78-5A3E-414E-8366-2DAC9D000C52}"/>
|
||||
</bookViews>
|
||||
<sheets>
|
||||
<sheet name="Sheet1" sheetId="1" r:id="rId1"/>
|
||||
</sheets>
|
||||
<calcPr calcId="191029"/>
|
||||
<extLst>
|
||||
<ext uri="{140A7094-0E35-4892-8432-C4D2E57EDEB5}"
|
||||
xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main">
|
||||
<x15:workbookPr chartTrackingRefBase="1"/>
|
||||
</ext>
|
||||
<ext uri="{B58B0392-4F1F-4190-BB64-5DF3571DCE5F}"
|
||||
xmlns:xcalcf="http://schemas.microsoft.com/office/spreadsheetml/2018/calcfeatures">
|
||||
<xcalcf:calcFeatures>
|
||||
<xcalcf:feature name="microsoft.com:RD"/>
|
||||
<xcalcf:feature name="microsoft.com:Single"/>
|
||||
<xcalcf:feature name="microsoft.com:FV"/>
|
||||
<xcalcf:feature name="microsoft.com:CNMTM"/>
|
||||
<xcalcf:feature name="microsoft.com:LET_WF"/>
|
||||
</xcalcf:calcFeatures>
|
||||
</ext>
|
||||
</extLst>
|
||||
</workbook>
|
@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
||||
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3"
|
||||
xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"
|
||||
xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision"
|
||||
xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"
|
||||
xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{81C7CFAE-5086-4E08-9176-FEC8F61D9FA2}">
|
||||
<dimension ref="A1:B2"/>
|
||||
<sheetViews>
|
||||
<sheetView tabSelected="1" workbookViewId="0">
|
||||
<selection activeCell="B2" sqref="B2"/>
|
||||
</sheetView>
|
||||
</sheetViews>
|
||||
<sheetFormatPr defaultRowHeight="14.4" x14ac:dyDescent="0.3"/>
|
||||
<cols>
|
||||
<col min="1" max="1" width="13.21875" customWidth="1"/>
|
||||
<col min="2" max="2" width="8.88671875" customWidth="1"/>
|
||||
</cols>
|
||||
<sheetData>
|
||||
<row r="1" spans="1:2" x14ac:dyDescent="0.3">
|
||||
<c r="A1" t="s">
|
||||
<v>0</v>
|
||||
</c>
|
||||
<c r="B1">
|
||||
<v>123456</v>
|
||||
</c>
|
||||
</row>
|
||||
<row r="2" spans="1:2" x14ac:dyDescent="0.3">
|
||||
<c r="A2" t="str">
|
||||
<f>A1</f>
|
||||
<v>\"<>+-*//}{\\n</v>
|
||||
</c>
|
||||
<c r="B2" s="1">
|
||||
<v>43835</v>
|
||||
</c>
|
||||
</row>
|
||||
</sheetData>
|
||||
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
|
||||
</worksheet>
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
![image-20210302081842814](https://i.loli.net/2021/03/02/CrYM6vnD4Ibt3jQ.png)
|
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
|
||||
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
|
||||
<Default Extension="xml" ContentType="application/xml"/>
|
||||
<Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/>
|
||||
<Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/>
|
||||
<Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/>
|
||||
<Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/>
|
||||
<Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"/>
|
||||
<Override PartName="/xl/tables/table1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"/>
|
||||
<Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/>
|
||||
<Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/>
|
||||
</Types>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
|
||||
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
|
||||
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/>
|
||||
</Relationships>
|
@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
|
||||
xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
|
||||
<Application>Microsoft Excel</Application>
|
||||
<DocSecurity>0</DocSecurity>
|
||||
<ScaleCrop>false</ScaleCrop>
|
||||
<HeadingPairs>
|
||||
<vt:vector size="2" baseType="variant">
|
||||
<vt:variant>
|
||||
<vt:lpstr>Worksheets</vt:lpstr>
|
||||
</vt:variant>
|
||||
<vt:variant>
|
||||
<vt:i4>1</vt:i4>
|
||||
</vt:variant>
|
||||
</vt:vector>
|
||||
</HeadingPairs>
|
||||
<TitlesOfParts>
|
||||
<vt:vector size="1" baseType="lpstr">
|
||||
<vt:lpstr>Sheet1</vt:lpstr>
|
||||
</vt:vector>
|
||||
</TitlesOfParts>
|
||||
<Company></Company>
|
||||
<LinksUpToDate>false</LinksUpToDate>
|
||||
<SharedDoc>false</SharedDoc>
|
||||
<HyperlinksChanged>false</HyperlinksChanged>
|
||||
<AppVersion>16.0300</AppVersion>
|
||||
</Properties>
|
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||
xmlns:dcmitype="http://purl.org/dc/dcmitype/"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<dc:creator>Wei</dc:creator>
|
||||
<cp:lastModifiedBy>Wei</cp:lastModifiedBy>
|
||||
<dcterms:created xsi:type="dcterms:W3CDTF">2021-03-01T11:29:39Z</dcterms:created>
|
||||
<dcterms:modified xsi:type="dcterms:W3CDTF">2021-03-02T00:13:32Z</dcterms:modified>
|
||||
</cp:coreProperties>
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/>
|
||||
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/>
|
||||
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/>
|
||||
<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="sharedStrings.xml"/>
|
||||
</Relationships>
|
@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="3" uniqueCount="3">
|
||||
<si>
|
||||
<t>A</t>
|
||||
</si>
|
||||
<si>
|
||||
<t>B</t>
|
||||
</si>
|
||||
<si>
|
||||
<t>C</t>
|
||||
</si>
|
||||
</sst>
|
@ -1,54 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2 xr"
|
||||
xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"
|
||||
xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main"
|
||||
xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision">
|
||||
<fonts count="1" x14ac:knownFonts="1">
|
||||
<font>
|
||||
<sz val="11"/>
|
||||
<color theme="1"/>
|
||||
<name val="Calibri"/>
|
||||
<family val="2"/>
|
||||
<scheme val="minor"/>
|
||||
</font>
|
||||
</fonts>
|
||||
<fills count="2">
|
||||
<fill>
|
||||
<patternFill patternType="none"/>
|
||||
</fill>
|
||||
<fill>
|
||||
<patternFill patternType="gray125"/>
|
||||
</fill>
|
||||
</fills>
|
||||
<borders count="1">
|
||||
<border>
|
||||
<left/>
|
||||
<right/>
|
||||
<top/>
|
||||
<bottom/>
|
||||
<diagonal/>
|
||||
</border>
|
||||
</borders>
|
||||
<cellStyleXfs count="1">
|
||||
<xf numFmtId="0" fontId="0" fillId="0" borderId="0"/>
|
||||
</cellStyleXfs>
|
||||
<cellXfs count="1">
|
||||
<xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/>
|
||||
</cellXfs>
|
||||
<cellStyles count="1">
|
||||
<cellStyle name="Normal" xfId="0" builtinId="0"/>
|
||||
</cellStyles>
|
||||
<dxfs count="0"/>
|
||||
<tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/>
|
||||
<extLst>
|
||||
<ext uri="{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}"
|
||||
xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main">
|
||||
<x14:slicerStyles defaultSlicerStyle="SlicerStyleLight1"/>
|
||||
</ext>
|
||||
<ext uri="{9260A510-F301-46a8-8635-F512D64BE5F5}"
|
||||
xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main">
|
||||
<x15:timelineStyles defaultTimelineStyle="TimeSlicerStyleLight1"/>
|
||||
</ext>
|
||||
</extLst>
|
||||
</styleSheet>
|
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="xr xr3"
|
||||
xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision"
|
||||
xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" id="1" xr:uid="{9C58A101-3C77-4989-9FCA-74828397CC61}" name="Table1" displayName="Table1" ref="A1:C3" totalsRowShown="0">
|
||||
<autoFilter ref="A1:C3" xr:uid="{939768B6-0C64-4D34-9336-C7F652B5CA48}"/>
|
||||
<tableColumns count="3">
|
||||
<tableColumn id="1" xr3:uid="{0A9B5E5B-D870-4411-94E1-E37976552221}" name="A"/>
|
||||
<tableColumn id="2" xr3:uid="{AC8D6872-3AF8-46B7-B8CA-B5B35AC186B9}" name="B"/>
|
||||
<tableColumn id="3" xr3:uid="{CB40C861-B6BE-4427-A96C-E0CAC768D949}" name="C"/>
|
||||
</tableColumns>
|
||||
<tableStyleInfo name="TableStyleMedium2" showFirstColumn="0" showLastColumn="0" showRowStripes="1" showColumnStripes="0"/>
|
||||
</table>
|
@ -1,293 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">
|
||||
<a:themeElements>
|
||||
<a:clrScheme name="Office">
|
||||
<a:dk1>
|
||||
<a:sysClr val="windowText" lastClr="000000"/>
|
||||
</a:dk1>
|
||||
<a:lt1>
|
||||
<a:sysClr val="window" lastClr="FFFFFF"/>
|
||||
</a:lt1>
|
||||
<a:dk2>
|
||||
<a:srgbClr val="44546A"/>
|
||||
</a:dk2>
|
||||
<a:lt2>
|
||||
<a:srgbClr val="E7E6E6"/>
|
||||
</a:lt2>
|
||||
<a:accent1>
|
||||
<a:srgbClr val="4472C4"/>
|
||||
</a:accent1>
|
||||
<a:accent2>
|
||||
<a:srgbClr val="ED7D31"/>
|
||||
</a:accent2>
|
||||
<a:accent3>
|
||||
<a:srgbClr val="A5A5A5"/>
|
||||
</a:accent3>
|
||||
<a:accent4>
|
||||
<a:srgbClr val="FFC000"/>
|
||||
</a:accent4>
|
||||
<a:accent5>
|
||||
<a:srgbClr val="5B9BD5"/>
|
||||
</a:accent5>
|
||||
<a:accent6>
|
||||
<a:srgbClr val="70AD47"/>
|
||||
</a:accent6>
|
||||
<a:hlink>
|
||||
<a:srgbClr val="0563C1"/>
|
||||
</a:hlink>
|
||||
<a:folHlink>
|
||||
<a:srgbClr val="954F72"/>
|
||||
</a:folHlink>
|
||||
</a:clrScheme>
|
||||
<a:fontScheme name="Office">
|
||||
<a:majorFont>
|
||||
<a:latin typeface="Calibri Light" panose="020F0302020204030204"/>
|
||||
<a:ea typeface=""/>
|
||||
<a:cs typeface=""/>
|
||||
<a:font script="Jpan" typeface="游ゴシック Light"/>
|
||||
<a:font script="Hang" typeface="맑은 고딕"/>
|
||||
<a:font script="Hans" typeface="等线 Light"/>
|
||||
<a:font script="Hant" typeface="新細明體"/>
|
||||
<a:font script="Arab" typeface="Times New Roman"/>
|
||||
<a:font script="Hebr" typeface="Times New Roman"/>
|
||||
<a:font script="Thai" typeface="Tahoma"/>
|
||||
<a:font script="Ethi" typeface="Nyala"/>
|
||||
<a:font script="Beng" typeface="Vrinda"/>
|
||||
<a:font script="Gujr" typeface="Shruti"/>
|
||||
<a:font script="Khmr" typeface="MoolBoran"/>
|
||||
<a:font script="Knda" typeface="Tunga"/>
|
||||
<a:font script="Guru" typeface="Raavi"/>
|
||||
<a:font script="Cans" typeface="Euphemia"/>
|
||||
<a:font script="Cher" typeface="Plantagenet Cherokee"/>
|
||||
<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
|
||||
<a:font script="Tibt" typeface="Microsoft Himalaya"/>
|
||||
<a:font script="Thaa" typeface="MV Boli"/>
|
||||
<a:font script="Deva" typeface="Mangal"/>
|
||||
<a:font script="Telu" typeface="Gautami"/>
|
||||
<a:font script="Taml" typeface="Latha"/>
|
||||
<a:font script="Syrc" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Orya" typeface="Kalinga"/>
|
||||
<a:font script="Mlym" typeface="Kartika"/>
|
||||
<a:font script="Laoo" typeface="DokChampa"/>
|
||||
<a:font script="Sinh" typeface="Iskoola Pota"/>
|
||||
<a:font script="Mong" typeface="Mongolian Baiti"/>
|
||||
<a:font script="Viet" typeface="Times New Roman"/>
|
||||
<a:font script="Uigh" typeface="Microsoft Uighur"/>
|
||||
<a:font script="Geor" typeface="Sylfaen"/>
|
||||
<a:font script="Armn" typeface="Arial"/>
|
||||
<a:font script="Bugi" typeface="Leelawadee UI"/>
|
||||
<a:font script="Bopo" typeface="Microsoft JhengHei"/>
|
||||
<a:font script="Java" typeface="Javanese Text"/>
|
||||
<a:font script="Lisu" typeface="Segoe UI"/>
|
||||
<a:font script="Mymr" typeface="Myanmar Text"/>
|
||||
<a:font script="Nkoo" typeface="Ebrima"/>
|
||||
<a:font script="Olck" typeface="Nirmala UI"/>
|
||||
<a:font script="Osma" typeface="Ebrima"/>
|
||||
<a:font script="Phag" typeface="Phagspa"/>
|
||||
<a:font script="Syrn" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Syrj" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Syre" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Sora" typeface="Nirmala UI"/>
|
||||
<a:font script="Tale" typeface="Microsoft Tai Le"/>
|
||||
<a:font script="Talu" typeface="Microsoft New Tai Lue"/>
|
||||
<a:font script="Tfng" typeface="Ebrima"/>
|
||||
</a:majorFont>
|
||||
<a:minorFont>
|
||||
<a:latin typeface="Calibri" panose="020F0502020204030204"/>
|
||||
<a:ea typeface=""/>
|
||||
<a:cs typeface=""/>
|
||||
<a:font script="Jpan" typeface="游ゴシック"/>
|
||||
<a:font script="Hang" typeface="맑은 고딕"/>
|
||||
<a:font script="Hans" typeface="等线"/>
|
||||
<a:font script="Hant" typeface="新細明體"/>
|
||||
<a:font script="Arab" typeface="Arial"/>
|
||||
<a:font script="Hebr" typeface="Arial"/>
|
||||
<a:font script="Thai" typeface="Tahoma"/>
|
||||
<a:font script="Ethi" typeface="Nyala"/>
|
||||
<a:font script="Beng" typeface="Vrinda"/>
|
||||
<a:font script="Gujr" typeface="Shruti"/>
|
||||
<a:font script="Khmr" typeface="DaunPenh"/>
|
||||
<a:font script="Knda" typeface="Tunga"/>
|
||||
<a:font script="Guru" typeface="Raavi"/>
|
||||
<a:font script="Cans" typeface="Euphemia"/>
|
||||
<a:font script="Cher" typeface="Plantagenet Cherokee"/>
|
||||
<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
|
||||
<a:font script="Tibt" typeface="Microsoft Himalaya"/>
|
||||
<a:font script="Thaa" typeface="MV Boli"/>
|
||||
<a:font script="Deva" typeface="Mangal"/>
|
||||
<a:font script="Telu" typeface="Gautami"/>
|
||||
<a:font script="Taml" typeface="Latha"/>
|
||||
<a:font script="Syrc" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Orya" typeface="Kalinga"/>
|
||||
<a:font script="Mlym" typeface="Kartika"/>
|
||||
<a:font script="Laoo" typeface="DokChampa"/>
|
||||
<a:font script="Sinh" typeface="Iskoola Pota"/>
|
||||
<a:font script="Mong" typeface="Mongolian Baiti"/>
|
||||
<a:font script="Viet" typeface="Arial"/>
|
||||
<a:font script="Uigh" typeface="Microsoft Uighur"/>
|
||||
<a:font script="Geor" typeface="Sylfaen"/>
|
||||
<a:font script="Armn" typeface="Arial"/>
|
||||
<a:font script="Bugi" typeface="Leelawadee UI"/>
|
||||
<a:font script="Bopo" typeface="Microsoft JhengHei"/>
|
||||
<a:font script="Java" typeface="Javanese Text"/>
|
||||
<a:font script="Lisu" typeface="Segoe UI"/>
|
||||
<a:font script="Mymr" typeface="Myanmar Text"/>
|
||||
<a:font script="Nkoo" typeface="Ebrima"/>
|
||||
<a:font script="Olck" typeface="Nirmala UI"/>
|
||||
<a:font script="Osma" typeface="Ebrima"/>
|
||||
<a:font script="Phag" typeface="Phagspa"/>
|
||||
<a:font script="Syrn" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Syrj" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Syre" typeface="Estrangelo Edessa"/>
|
||||
<a:font script="Sora" typeface="Nirmala UI"/>
|
||||
<a:font script="Tale" typeface="Microsoft Tai Le"/>
|
||||
<a:font script="Talu" typeface="Microsoft New Tai Lue"/>
|
||||
<a:font script="Tfng" typeface="Ebrima"/>
|
||||
</a:minorFont>
|
||||
</a:fontScheme>
|
||||
<a:fmtScheme name="Office">
|
||||
<a:fillStyleLst>
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:lumMod val="110000"/>
|
||||
<a:satMod val="105000"/>
|
||||
<a:tint val="67000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="50000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:lumMod val="105000"/>
|
||||
<a:satMod val="103000"/>
|
||||
<a:tint val="73000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:lumMod val="105000"/>
|
||||
<a:satMod val="109000"/>
|
||||
<a:tint val="81000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:lin ang="5400000" scaled="0"/>
|
||||
</a:gradFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:satMod val="103000"/>
|
||||
<a:lumMod val="102000"/>
|
||||
<a:tint val="94000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="50000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:satMod val="110000"/>
|
||||
<a:lumMod val="100000"/>
|
||||
<a:shade val="100000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:lumMod val="99000"/>
|
||||
<a:satMod val="120000"/>
|
||||
<a:shade val="78000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:lin ang="5400000" scaled="0"/>
|
||||
</a:gradFill>
|
||||
</a:fillStyleLst>
|
||||
<a:lnStyleLst>
|
||||
<a:ln w="6350" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid"/>
|
||||
<a:miter lim="800000"/>
|
||||
</a:ln>
|
||||
<a:ln w="12700" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid"/>
|
||||
<a:miter lim="800000"/>
|
||||
</a:ln>
|
||||
<a:ln w="19050" cap="flat" cmpd="sng" algn="ctr">
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:prstDash val="solid"/>
|
||||
<a:miter lim="800000"/>
|
||||
</a:ln>
|
||||
</a:lnStyleLst>
|
||||
<a:effectStyleLst>
|
||||
<a:effectStyle>
|
||||
<a:effectLst/>
|
||||
</a:effectStyle>
|
||||
<a:effectStyle>
|
||||
<a:effectLst/>
|
||||
</a:effectStyle>
|
||||
<a:effectStyle>
|
||||
<a:effectLst>
|
||||
<a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0">
|
||||
<a:srgbClr val="000000">
|
||||
<a:alpha val="63000"/>
|
||||
</a:srgbClr>
|
||||
</a:outerShdw>
|
||||
</a:effectLst>
|
||||
</a:effectStyle>
|
||||
</a:effectStyleLst>
|
||||
<a:bgFillStyleLst>
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr"/>
|
||||
</a:solidFill>
|
||||
<a:solidFill>
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="95000"/>
|
||||
<a:satMod val="170000"/>
|
||||
</a:schemeClr>
|
||||
</a:solidFill>
|
||||
<a:gradFill rotWithShape="1">
|
||||
<a:gsLst>
|
||||
<a:gs pos="0">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="93000"/>
|
||||
<a:satMod val="150000"/>
|
||||
<a:shade val="98000"/>
|
||||
<a:lumMod val="102000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="50000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:tint val="98000"/>
|
||||
<a:satMod val="130000"/>
|
||||
<a:shade val="90000"/>
|
||||
<a:lumMod val="103000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
<a:gs pos="100000">
|
||||
<a:schemeClr val="phClr">
|
||||
<a:shade val="63000"/>
|
||||
<a:satMod val="120000"/>
|
||||
</a:schemeClr>
|
||||
</a:gs>
|
||||
</a:gsLst>
|
||||
<a:lin ang="5400000" scaled="0"/>
|
||||
</a:gradFill>
|
||||
</a:bgFillStyleLst>
|
||||
</a:fmtScheme>
|
||||
</a:themeElements>
|
||||
<a:objectDefaults/>
|
||||
<a:extraClrSchemeLst/>
|
||||
<a:extLst>
|
||||
<a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}">
|
||||
<thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"/>
|
||||
</a:ext>
|
||||
</a:extLst>
|
||||
</a:theme>
|
@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
||||
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x15 xr xr6 xr10 xr2"
|
||||
xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"
|
||||
xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision"
|
||||
xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6"
|
||||
xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10"
|
||||
xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2">
|
||||
<fileVersion appName="xl" lastEdited="7" lowestEdited="7" rupBuild="23628"/>
|
||||
<workbookPr defaultThemeVersion="166925"/>
|
||||
<mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
|
||||
<mc:Choice Requires="x15">
|
||||
<x15ac:absPath url="C:\Users\Wei\Downloads\"
|
||||
xmlns:x15ac="http://schemas.microsoft.com/office/spreadsheetml/2010/11/ac"/>
|
||||
</mc:Choice>
|
||||
</mc:AlternateContent>
|
||||
<xr:revisionPtr revIDLastSave="0" documentId="13_ncr:1_{F1C6E806-84AB-458F-A1F1-EF0D55A1B773}" xr6:coauthVersionLast="46" xr6:coauthVersionMax="46" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}"/>
|
||||
<bookViews>
|
||||
<workbookView xWindow="-108" yWindow="-108" windowWidth="23256" windowHeight="12720" xr2:uid="{A70358F8-30C8-41B7-B277-B34BAC3C0FCB}"/>
|
||||
</bookViews>
|
||||
<sheets>
|
||||
<sheet name="Sheet1" sheetId="1" r:id="rId1"/>
|
||||
</sheets>
|
||||
<calcPr calcId="191029"/>
|
||||
<extLst>
|
||||
<ext uri="{140A7094-0E35-4892-8432-C4D2E57EDEB5}"
|
||||
xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main">
|
||||
<x15:workbookPr chartTrackingRefBase="1"/>
|
||||
</ext>
|
||||
<ext uri="{B58B0392-4F1F-4190-BB64-5DF3571DCE5F}"
|
||||
xmlns:xcalcf="http://schemas.microsoft.com/office/spreadsheetml/2018/calcfeatures">
|
||||
<xcalcf:calcFeatures>
|
||||
<xcalcf:feature name="microsoft.com:RD"/>
|
||||
<xcalcf:feature name="microsoft.com:Single"/>
|
||||
<xcalcf:feature name="microsoft.com:FV"/>
|
||||
<xcalcf:feature name="microsoft.com:CNMTM"/>
|
||||
<xcalcf:feature name="microsoft.com:LET_WF"/>
|
||||
</xcalcf:calcFeatures>
|
||||
</ext>
|
||||
</extLst>
|
||||
</workbook>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/table" Target="../tables/table1.xml"/>
|
||||
</Relationships>
|
@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
||||
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3"
|
||||
xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"
|
||||
xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision"
|
||||
xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"
|
||||
xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{D86B157B-487B-4717-B294-744985205B26}">
|
||||
<dimension ref="A1:C3"/>
|
||||
<sheetViews>
|
||||
<sheetView tabSelected="1" workbookViewId="0">
|
||||
<selection activeCell="D4" sqref="D4"/>
|
||||
</sheetView>
|
||||
</sheetViews>
|
||||
<sheetFormatPr defaultRowHeight="14.4" x14ac:dyDescent="0.3"/>
|
||||
<sheetData>
|
||||
<row r="1" spans="1:3" x14ac:dyDescent="0.3">
|
||||
<c r="A1" t="s">
|
||||
<v>0</v>
|
||||
</c>
|
||||
<c r="B1" t="s">
|
||||
<v>1</v>
|
||||
</c>
|
||||
<c r="C1" t="s">
|
||||
<v>2</v>
|
||||
</c>
|
||||
</row>
|
||||
<row r="2" spans="1:3" x14ac:dyDescent="0.3">
|
||||
<c r="A2">
|
||||
<v>1</v>
|
||||
</c>
|
||||
<c r="B2">
|
||||
<v>2</v>
|
||||
</c>
|
||||
<c r="C2">
|
||||
<v>3</v>
|
||||
</c>
|
||||
</row>
|
||||
<row r="3" spans="1:3" x14ac:dyDescent="0.3">
|
||||
<c r="A3">
|
||||
<v>4</v>
|
||||
</c>
|
||||
<c r="B3">
|
||||
<v>5</v>
|
||||
</c>
|
||||
<c r="C3">
|
||||
<v>6</v>
|
||||
</c>
|
||||
</row>
|
||||
</sheetData>
|
||||
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
|
||||
<tableParts count="1">
|
||||
<tablePart r:id="rId1"/>
|
||||
</tableParts>
|
||||
</worksheet>
|
@ -1,124 +0,0 @@
|
||||
<Query Kind="Program">
|
||||
<NuGetReference>AngleSharp</NuGetReference>
|
||||
<NuGetReference>Dapper</NuGetReference>
|
||||
<NuGetReference>DocumentFormat.OpenXml</NuGetReference>
|
||||
<NuGetReference>Newtonsoft.Json</NuGetReference>
|
||||
<NuGetReference>System.Data.SqlClient</NuGetReference>
|
||||
<Namespace>Dapper</Namespace>
|
||||
<Namespace>DocumentFormat.OpenXml</Namespace>
|
||||
<Namespace>DocumentFormat.OpenXml.Packaging</Namespace>
|
||||
<Namespace>DocumentFormat.OpenXml.Spreadsheet</Namespace>
|
||||
<Namespace>Newtonsoft.Json</Namespace>
|
||||
<Namespace>System.Data.SqlClient</Namespace>
|
||||
<Namespace>System.Globalization</Namespace>
|
||||
<Namespace>System.Net.Http</Namespace>
|
||||
<Namespace>System.Threading.Tasks</Namespace>
|
||||
</Query>
|
||||
|
||||
void Main()
|
||||
{
|
||||
var path = Path.Combine(Path.GetTempPath(), $"{Guid.NewGuid()}.xlsx");
|
||||
Console.WriteLine(path);
|
||||
|
||||
CreateSpreadsheetWorkbook(path);
|
||||
}
|
||||
|
||||
//[How to: Create a spreadsheet document by providing a file name (Open XML SDK) | Microsoft Docs](https://docs.microsoft.com/en-us/office/open-xml/how-to-create-a-spreadsheet-document-by-providing-a-file-name)
|
||||
|
||||
// You can define other methods, fields, classes and namespaces here
|
||||
public static void CreateSpreadsheetWorkbook(string filepath)
|
||||
{
|
||||
// Create a spreadsheet document by supplying the filepath.
|
||||
// By default, AutoSave = true, Editable = true, and Type = xlsx.
|
||||
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.
|
||||
Create(filepath, SpreadsheetDocumentType.Workbook);
|
||||
|
||||
// Add a WorkbookPart to the document.
|
||||
WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
|
||||
workbookpart.Workbook = new Workbook();
|
||||
|
||||
// Add a WorksheetPart to the WorkbookPart.
|
||||
WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
|
||||
worksheetPart.Worksheet = new Worksheet(new SheetData());
|
||||
|
||||
// Add Sheets to the Workbook.
|
||||
Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.
|
||||
AppendChild<Sheets>(new Sheets());
|
||||
|
||||
// Append a new worksheet and associate it with the workbook.
|
||||
Sheet sheet = new Sheet()
|
||||
{
|
||||
Id = spreadsheetDocument.WorkbookPart.
|
||||
GetIdOfPart(worksheetPart),
|
||||
SheetId = 1,
|
||||
Name = "Sheet1"
|
||||
};
|
||||
sheets.Append(sheet);
|
||||
|
||||
var sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
var row = new Row();
|
||||
row.Append(
|
||||
new Cell() { CellValue = new CellValue(1.ToString()), DataType = CellValues.Number }
|
||||
, new Cell() { CellValue = new CellValue(@"""<>+}{\nHello World"), DataType = CellValues.String }
|
||||
, new Cell() { CellValue = new CellValue("1"), DataType = CellValues.Boolean }
|
||||
, new Cell() { CellValue = new CellValue(DateTime.Now.ToString("s")), DataType = CellValues.Date }
|
||||
);
|
||||
sheetData.AppendChild(row);
|
||||
}
|
||||
|
||||
workbookpart.Workbook.Save();
|
||||
|
||||
// Close the document.
|
||||
spreadsheetDocument.Close();
|
||||
}
|
||||
|
||||
// Given a column name, a row index, and a WorksheetPart, inserts a cell into the worksheet.
|
||||
// If the cell already exists, returns it.
|
||||
private static Cell InsertCellInWorksheet(string columnName, uint rowIndex, WorksheetPart worksheetPart)
|
||||
{
|
||||
Worksheet worksheet = worksheetPart.Worksheet;
|
||||
SheetData sheetData = worksheet.GetFirstChild<SheetData>();
|
||||
string cellReference = columnName + rowIndex;
|
||||
|
||||
// If the worksheet does not contain a row with the specified row index, insert one.
|
||||
Row row;
|
||||
if (sheetData.Elements<Row>().Where(r => r.RowIndex == rowIndex).Count() != 0)
|
||||
{
|
||||
row = sheetData.Elements<Row>().Where(r => r.RowIndex == rowIndex).First();
|
||||
}
|
||||
else
|
||||
{
|
||||
row = new Row() { RowIndex = rowIndex };
|
||||
sheetData.Append(row);
|
||||
}
|
||||
|
||||
// If there is not a cell with the specified column name, insert one.
|
||||
if (row.Elements<Cell>().Where(c => c.CellReference.Value == columnName + rowIndex).Count() > 0)
|
||||
{
|
||||
return row.Elements<Cell>().Where(c => c.CellReference.Value == cellReference).First();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Cells must be in sequential order according to CellReference. Determine where to insert the new cell.
|
||||
Cell refCell = null;
|
||||
foreach (Cell cell in row.Elements<Cell>())
|
||||
{
|
||||
if (cell.CellReference.Value.Length == cellReference.Length)
|
||||
{
|
||||
if (string.Compare(cell.CellReference.Value, cellReference, true) > 0)
|
||||
{
|
||||
refCell = cell;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Cell newCell = new Cell() { CellReference = cellReference };
|
||||
row.InsertBefore(newCell, refCell);
|
||||
|
||||
worksheet.Save();
|
||||
return newCell;
|
||||
}
|
||||
}
|
Binary file not shown.
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
|
||||
<Default Extension="xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" />
|
||||
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" />
|
||||
<Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" />
|
||||
</Types>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/xl/workbook.xml" Id="Rc9cc9e6436164d5a" />
|
||||
</Relationships>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
||||
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="/xl/worksheets/sheet1.xml" Id="Race8f48c29a041d6" />
|
||||
</Relationships>
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<x:workbook xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<x:sheets>
|
||||
<x:sheet name="Sheet1" sheetId="1" r:id="Race8f48c29a041d6"
|
||||
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" />
|
||||
</x:sheets>
|
||||
</x:workbook>
|
@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<x:worksheet xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
|
||||
<x:sheetData>
|
||||
<x:row>
|
||||
<x:c t="n">
|
||||
<x:v>1</x:v>
|
||||
</x:c>
|
||||
<x:c t="str">
|
||||
<x:v>"<>+}{\nHello World</x:v>
|
||||
</x:c>
|
||||
<x:c t="b">
|
||||
<x:v>1</x:v>
|
||||
</x:c>
|
||||
<x:c t="d">
|
||||
<x:v>2021-03-02T08:47:12</x:v>
|
||||
</x:c>
|
||||
</x:row>
|
||||
<x:row>
|
||||
<x:c t="n">
|
||||
<x:v>1</x:v>
|
||||
</x:c>
|
||||
<x:c t="str">
|
||||
<x:v>"<>+}{\nHello World</x:v>
|
||||
</x:c>
|
||||
<x:c t="b">
|
||||
<x:v>1</x:v>
|
||||
</x:c>
|
||||
<x:c t="d">
|
||||
<x:v>2021-03-02T08:47:12</x:v>
|
||||
</x:c>
|
||||
</x:row>
|
||||
</x:sheetData>
|
||||
</x:worksheet>
|
@ -1,326 +0,0 @@
|
||||
<Query Kind="Program">
|
||||
<NuGetReference>AngleSharp</NuGetReference>
|
||||
<NuGetReference>Dapper</NuGetReference>
|
||||
<NuGetReference>DocumentFormat.OpenXml</NuGetReference>
|
||||
<NuGetReference>Newtonsoft.Json</NuGetReference>
|
||||
<NuGetReference>System.Data.SqlClient</NuGetReference>
|
||||
<Namespace>Dapper</Namespace>
|
||||
<Namespace>MiniExcel</Namespace>
|
||||
<Namespace>Newtonsoft.Json</Namespace>
|
||||
<Namespace>System.Data.SqlClient</Namespace>
|
||||
<Namespace>System.IO.Compression</Namespace>
|
||||
<Namespace>System.Net.Http</Namespace>
|
||||
<Namespace>System.Threading.Tasks</Namespace>
|
||||
<Namespace>System.IO.Packaging</Namespace>
|
||||
</Query>
|
||||
|
||||
void Main()
|
||||
{
|
||||
//Read();
|
||||
Create();
|
||||
}
|
||||
|
||||
void Read()
|
||||
{
|
||||
//
|
||||
{
|
||||
// idea from : [Reading and Writing to Excel 2007 or Excel 2010 from C# - Part II: Basics | Robert MacLean](https://www.sadev.co.za/content/reading-and-writing-excel-2007-or-excel-2010-c-part-ii-basics)
|
||||
Package xlsxPackage = Package.Open(@"D:\git\MiniExcel\Samples\Xlsx\OpenXmlSDK_InsertCellValues\OpenXmlSDK_InsertCellValues.xlsx", FileMode.Open, FileAccess.ReadWrite);
|
||||
var allParts = xlsxPackage.GetParts().ToList();
|
||||
PackagePart worksheetPart = (from part in allParts
|
||||
where part.ContentType.Equals("application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")
|
||||
select part).FirstOrDefault();
|
||||
XElement worksheet = XElement.Load(XmlReader.Create(worksheetPart.GetStream()));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Create()
|
||||
{
|
||||
var path = Path.Combine(Path.GetTempPath(), $"{Guid.NewGuid()}.xlsx");
|
||||
Console.WriteLine(path);
|
||||
|
||||
//MiniExcelHelper.CreateEmptyFie(path);
|
||||
//MiniExcelHelper.Create(path, new[] {1,2,3,4,5});
|
||||
MiniExcelHelper.Create(path, new[] {
|
||||
new { a = @"""<>+-*//}{\\n", b = 1234567890,c = true,d=DateTime.Now },
|
||||
new { a = "<test>Hello World</test>", b = -1234567890,c=false,d=DateTime.Now.Date}
|
||||
});
|
||||
|
||||
// TODO: Dapper Row
|
||||
|
||||
// TODO: Dictionary
|
||||
|
||||
// TODO: Datatable
|
||||
|
||||
|
||||
//ProcessStartInfo psi = new ProcessStartInfo
|
||||
//{
|
||||
// FileName = path,
|
||||
// UseShellExecute = true
|
||||
//};
|
||||
//Process.Start(psi);
|
||||
}
|
||||
|
||||
namespace MiniExcel
|
||||
{
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Text;
|
||||
using MiniExcel;
|
||||
|
||||
public static class MiniExcelHelper
|
||||
{
|
||||
public static Dictionary<string, object> GetDefaultFilesTree()
|
||||
{
|
||||
return new Dictionary<string, object>()
|
||||
{
|
||||
{"[Content_Types].xml",DefualtXml.defaultContent_TypesXml},
|
||||
{@"_rels\.rels",DefualtXml.defaultRels},
|
||||
{@"xl\_rels\workbook.xml.rels",DefualtXml.defaultWorkbookXmlRels},
|
||||
{@"xl\styles.xml",DefualtXml.defaultStylesXml},
|
||||
{@"xl\workbook.xml",DefualtXml.defaultWorkbookXml},
|
||||
{@"xl\worksheets\sheet1.xml",DefualtXml.defaultSheetXml},
|
||||
};
|
||||
}
|
||||
|
||||
public static void Create(string path, object value, string startCell = "A1", bool printHeader = true)
|
||||
{
|
||||
var xy = Helper.ConvertCellToXY(startCell);
|
||||
|
||||
var filesTree = GetDefaultFilesTree();
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
var yIndex = xy.Item2;
|
||||
|
||||
if (value is System.Collections.ICollection)
|
||||
{
|
||||
var _vs = value as System.Collections.ICollection;
|
||||
object firstValue = null;
|
||||
{
|
||||
foreach (var v in _vs)
|
||||
{
|
||||
firstValue = v;
|
||||
break;
|
||||
}
|
||||
}
|
||||
var type = firstValue.GetType();
|
||||
var props = type.GetProperties();
|
||||
if (printHeader)
|
||||
{
|
||||
sb.AppendLine($"<x:row>");
|
||||
var xIndex = xy.Item1;
|
||||
foreach (var p in props)
|
||||
{
|
||||
var columname = Helper.ConvertXyToCell(xIndex, yIndex);
|
||||
sb.Append($"<x:c r=\"{columname}\" t=\"str\">");
|
||||
sb.Append($"<x:v>{p.Name}");
|
||||
sb.Append($"</x:v>");
|
||||
sb.Append($"</x:c>");
|
||||
xIndex++;
|
||||
}
|
||||
sb.AppendLine($"</x:row>");
|
||||
yIndex++;
|
||||
}
|
||||
|
||||
foreach (var v in _vs)
|
||||
{
|
||||
sb.AppendLine($"<x:row>");
|
||||
var xIndex = xy.Item1;
|
||||
foreach (var p in props)
|
||||
{
|
||||
var cellValue = p.GetValue(v);
|
||||
var cellValueStr = Helper.GetValue(cellValue);
|
||||
var t = "t=\"str\"";
|
||||
{
|
||||
if (decimal.TryParse(cellValueStr, out var outV))
|
||||
t = "t=\"n\"";
|
||||
if (cellValue is bool)
|
||||
{
|
||||
t = "t=\"b\"";
|
||||
cellValueStr = (bool)cellValue ? "1" : "0";
|
||||
}
|
||||
if (cellValue is DateTime || cellValue is DateTime?)
|
||||
{
|
||||
t = "s=\"1\"";
|
||||
cellValueStr = ((DateTime)cellValue).ToOADate().ToString();
|
||||
}
|
||||
}
|
||||
var columname = Helper.ConvertXyToCell(xIndex, yIndex);
|
||||
sb.Append($"<x:c {t}>");
|
||||
sb.Append($"<x:v>{cellValueStr}");
|
||||
sb.Append($"</x:v>");
|
||||
sb.Append($"</x:c>");
|
||||
xIndex++;
|
||||
}
|
||||
sb.AppendLine($"</x:row>");
|
||||
yIndex++;
|
||||
}
|
||||
}
|
||||
filesTree[@"xl\worksheets\sheet1.xml"] = $@"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<x:worksheet xmlns:x=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
|
||||
<x:sheetData>{sb.ToString()}</x:sheetData>
|
||||
</x:worksheet>";
|
||||
}
|
||||
CreateZipFileStream(path, filesTree);
|
||||
}
|
||||
|
||||
public static void CreateEmptyFie(string path)
|
||||
{
|
||||
CreateZipFileStream(path, GetDefaultFilesTree());
|
||||
}
|
||||
|
||||
private static void CreateStringEntry(ZipArchive archive, string entryPath, string content)
|
||||
{
|
||||
ZipArchiveEntry entry = archive.CreateEntry(entryPath);
|
||||
using (var zipStream = entry.Open())
|
||||
{
|
||||
var bytes = Encoding.ASCII.GetBytes(content);
|
||||
zipStream.Write(bytes, 0, bytes.Length);
|
||||
}
|
||||
}
|
||||
|
||||
private static FileStream CreateZipFileStream(string path, Dictionary<string, object> filesTree)
|
||||
{
|
||||
using (FileStream stream = new FileStream(path, FileMode.CreateNew))
|
||||
{
|
||||
using (ZipArchive archive = new ZipArchive(stream, ZipArchiveMode.Create))
|
||||
{
|
||||
foreach (var fileTree in filesTree)
|
||||
{
|
||||
ZipArchiveEntry entry = archive.CreateEntry(fileTree.Key);
|
||||
using (var zipStream = entry.Open())
|
||||
{
|
||||
var bytes = Encoding.ASCII.GetBytes(fileTree.Value.ToString());
|
||||
zipStream.Write(bytes, 0, bytes.Length);
|
||||
}
|
||||
}
|
||||
}
|
||||
return stream;
|
||||
}
|
||||
}
|
||||
|
||||
internal static class DefualtXml
|
||||
{
|
||||
internal const string defaultRels = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<Relationships xmlns=""http://schemas.openxmlformats.org/package/2006/relationships"">
|
||||
<Relationship Type=""http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"" Target=""/xl/workbook.xml"" Id=""Rfc2254092b6248a9"" />
|
||||
</Relationships>";
|
||||
|
||||
internal const string defaultSheetXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<x:worksheet xmlns:x=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
|
||||
<x:sheetData>
|
||||
</x:sheetData>
|
||||
</x:worksheet>";
|
||||
internal const string defaultWorkbookXmlRels = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<Relationships xmlns=""http://schemas.openxmlformats.org/package/2006/relationships"">
|
||||
<Relationship Type=""http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"" Target=""/xl/worksheets/sheet1.xml"" Id=""R1274d0d920f34a32"" />
|
||||
<Relationship Type=""http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"" Target=""/xl/styles.xml"" Id=""R3db9602ace774fdb"" />
|
||||
</Relationships>";
|
||||
|
||||
internal const string defaultStylesXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<x:styleSheet xmlns:x=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
|
||||
<x:fonts>
|
||||
<x:font />
|
||||
</x:fonts>
|
||||
<x:fills>
|
||||
<x:fill />
|
||||
</x:fills>
|
||||
<x:borders>
|
||||
<x:border />
|
||||
</x:borders>
|
||||
<x:cellStyleXfs>
|
||||
<x:xf />
|
||||
</x:cellStyleXfs>
|
||||
<x:cellXfs>
|
||||
<x:xf />
|
||||
<x:xf numFmtId=""14"" applyNumberFormat=""1"" />
|
||||
</x:cellXfs>
|
||||
</x:styleSheet>";
|
||||
|
||||
internal const string defaultWorkbookXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<x:workbook xmlns:r=""http://schemas.openxmlformats.org/officeDocument/2006/relationships""
|
||||
xmlns:x=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
|
||||
<x:sheets>
|
||||
<x:sheet xmlns:r=""http://schemas.openxmlformats.org/officeDocument/2006/relationships"" name=""Sheet1"" sheetId=""1"" r:id=""R1274d0d920f34a32"" />
|
||||
</x:sheets>
|
||||
</x:workbook>";
|
||||
|
||||
internal const string defaultContent_TypesXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<Types xmlns=""http://schemas.openxmlformats.org/package/2006/content-types"">
|
||||
<Default Extension=""xml"" ContentType=""application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"" />
|
||||
<Default Extension=""rels"" ContentType=""application/vnd.openxmlformats-package.relationships+xml"" />
|
||||
<Override PartName=""/xl/worksheets/sheet1.xml"" ContentType=""application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"" />
|
||||
<Override PartName=""/xl/styles.xml"" ContentType=""application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"" />
|
||||
</Types>";
|
||||
}
|
||||
|
||||
internal static class Helper
|
||||
{
|
||||
internal static string GetValue(object value) => value == null ? "" : value.ToString().Replace("<", "<").Replace(">", ">");
|
||||
|
||||
/// <summary>X=CellLetter,Y=CellNumber,ex:A1=(1,1),B2=(2,2)</summary>
|
||||
internal static string ConvertXyToCell(Tuple<int, int> xy)
|
||||
{
|
||||
return ConvertXyToCell(xy.Item1, xy.Item2);
|
||||
}
|
||||
|
||||
/// <summary>X=CellLetter,Y=CellNumber,ex:A1=(1,1),B2=(2,2)</summary>
|
||||
internal static string ConvertXyToCell(int x, int y)
|
||||
{
|
||||
int dividend = x;
|
||||
string columnName = String.Empty;
|
||||
int modulo;
|
||||
|
||||
while (dividend > 0)
|
||||
{
|
||||
modulo = (dividend - 1) % 26;
|
||||
columnName = Convert.ToChar(65 + modulo).ToString() + columnName;
|
||||
dividend = (int)((dividend - modulo) / 26);
|
||||
}
|
||||
return $"{columnName}{y}";
|
||||
}
|
||||
|
||||
/// <summary>X=CellLetter,Y=CellNumber,ex:A1=(1,1),B2=(2,2)</summary>
|
||||
internal static Tuple<int, int> ConvertCellToXY(string cell)
|
||||
{
|
||||
const string keys = " ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
const int mode = 26;
|
||||
|
||||
var x = 0;
|
||||
var cellLetter = GetCellLetter(cell);
|
||||
//AA=27,ZZ=702
|
||||
for (int i = 0; i < cellLetter.Length; i++)
|
||||
x = x * mode + keys.IndexOf(cellLetter[i]);
|
||||
|
||||
var cellNumber = GetCellNumber(cell);
|
||||
return Tuple.Create(x, int.Parse(cellNumber));
|
||||
}
|
||||
|
||||
internal static string GetCellNumber(string cell)
|
||||
{
|
||||
string cellNumber = string.Empty;
|
||||
for (int i = 0; i < cell.Length; i++)
|
||||
{
|
||||
if (Char.IsDigit(cell[i]))
|
||||
cellNumber += cell[i];
|
||||
}
|
||||
return cellNumber;
|
||||
}
|
||||
|
||||
internal static string GetCellLetter(string cell)
|
||||
{
|
||||
string GetCellLetter = string.Empty;
|
||||
for (int i = 0; i < cell.Length; i++)
|
||||
{
|
||||
if (Char.IsLetter(cell[i]))
|
||||
GetCellLetter += cell[i];
|
||||
}
|
||||
return GetCellLetter;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
41
Src/MiniExcel.sln
Normal file
41
Src/MiniExcel.sln
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30804.86
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiniExcel", "MiniExcel\MiniExcel.csproj", "{097903C9-1F81-4427-B4C8-530CB59687B8}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2AFABF2E-D6C3-4983-B43A-76ADA2BB2876}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiniExcelTests", "MiniExcelTests\MiniExcelTests.csproj", "{1B30A8E7-11E1-4A74-95CD-46E36B928F44}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CC1E0601-AEC9-42D7-8F6A-3FB3939EED16}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{359A7094-3353-48F2-B3E1-FE9E59698318}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{097903C9-1F81-4427-B4C8-530CB59687B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{097903C9-1F81-4427-B4C8-530CB59687B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{097903C9-1F81-4427-B4C8-530CB59687B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{097903C9-1F81-4427-B4C8-530CB59687B8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1B30A8E7-11E1-4A74-95CD-46E36B928F44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1B30A8E7-11E1-4A74-95CD-46E36B928F44}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1B30A8E7-11E1-4A74-95CD-46E36B928F44}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1B30A8E7-11E1-4A74-95CD-46E36B928F44}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{097903C9-1F81-4427-B4C8-530CB59687B8} = {CC1E0601-AEC9-42D7-8F6A-3FB3939EED16}
|
||||
{1B30A8E7-11E1-4A74-95CD-46E36B928F44} = {359A7094-3353-48F2-B3E1-FE9E59698318}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {51DF25DA-2DCB-4883-90FE-399DA950D4F2}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
57
Src/MiniExcel/DefualtXml.cs
Normal file
57
Src/MiniExcel/DefualtXml.cs
Normal file
@ -0,0 +1,57 @@
|
||||
namespace MiniExcel
|
||||
{
|
||||
internal static class DefualtXml
|
||||
{
|
||||
internal const string defaultRels = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<Relationships xmlns=""http://schemas.openxmlformats.org/package/2006/relationships"">
|
||||
<Relationship Type=""http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"" Target=""/xl/workbook.xml"" Id=""Rfc2254092b6248a9"" />
|
||||
</Relationships>";
|
||||
|
||||
internal const string defaultSheetXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<x:worksheet xmlns:x=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
|
||||
<x:sheetData>
|
||||
</x:sheetData>
|
||||
</x:worksheet>";
|
||||
internal const string defaultWorkbookXmlRels = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<Relationships xmlns=""http://schemas.openxmlformats.org/package/2006/relationships"">
|
||||
<Relationship Type=""http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"" Target=""/xl/worksheets/sheet1.xml"" Id=""R1274d0d920f34a32"" />
|
||||
<Relationship Type=""http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"" Target=""/xl/styles.xml"" Id=""R3db9602ace774fdb"" />
|
||||
</Relationships>";
|
||||
|
||||
internal const string defaultStylesXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<x:styleSheet xmlns:x=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
|
||||
<x:fonts>
|
||||
<x:font />
|
||||
</x:fonts>
|
||||
<x:fills>
|
||||
<x:fill />
|
||||
</x:fills>
|
||||
<x:borders>
|
||||
<x:border />
|
||||
</x:borders>
|
||||
<x:cellStyleXfs>
|
||||
<x:xf />
|
||||
</x:cellStyleXfs>
|
||||
<x:cellXfs>
|
||||
<x:xf />
|
||||
<x:xf numFmtId=""14"" applyNumberFormat=""1"" />
|
||||
</x:cellXfs>
|
||||
</x:styleSheet>";
|
||||
|
||||
internal const string defaultWorkbookXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<x:workbook xmlns:r=""http://schemas.openxmlformats.org/officeDocument/2006/relationships""
|
||||
xmlns:x=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
|
||||
<x:sheets>
|
||||
<x:sheet xmlns:r=""http://schemas.openxmlformats.org/officeDocument/2006/relationships"" name=""Sheet1"" sheetId=""1"" r:id=""R1274d0d920f34a32"" />
|
||||
</x:sheets>
|
||||
</x:workbook>";
|
||||
|
||||
internal const string defaultContent_TypesXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<Types xmlns=""http://schemas.openxmlformats.org/package/2006/content-types"">
|
||||
<Default Extension=""xml"" ContentType=""application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"" />
|
||||
<Default Extension=""rels"" ContentType=""application/vnd.openxmlformats-package.relationships+xml"" />
|
||||
<Override PartName=""/xl/worksheets/sheet1.xml"" ContentType=""application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"" />
|
||||
<Override PartName=""/xl/styles.xml"" ContentType=""application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"" />
|
||||
</Types>";
|
||||
}
|
||||
}
|
10
Src/MiniExcel/ExcelNamespaces.cs
Normal file
10
Src/MiniExcel/ExcelNamespaces.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace MiniExcel
|
||||
{
|
||||
using System.Xml.Linq;
|
||||
|
||||
internal static class ExcelNamespaces
|
||||
{
|
||||
internal static XNamespace excelNamespace = XNamespace.Get("http://schemas.openxmlformats.org/spreadsheetml/2006/main");
|
||||
internal static XNamespace excelRelationshipsNamepace = XNamespace.Get("http://schemas.openxmlformats.org/officeDocument/2006/relationships");
|
||||
}
|
||||
}
|
30
Src/MiniExcel/MiniExcel.csproj
Normal file
30
Src/MiniExcel/MiniExcel.csproj
Normal file
@ -0,0 +1,30 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<AssemblyName>MiniExcel</AssemblyName>
|
||||
<Title>MiniExcel</Title>
|
||||
<Product>MiniExcel</Product>
|
||||
<PackageTags>excel;xlsx;micro-helper;mini;openxml;helper;</PackageTags>
|
||||
<Description>A high performance Micro-Helper without any third party library and supporting Excel xlsx create and read etc..</Description>
|
||||
<Authors>ITWeiHan</Authors>
|
||||
<Copyright>©2021 WeiHan Lin</Copyright>
|
||||
<license>Apache-2.0</license>
|
||||
<PackageProjectUrl>https://github.com/shps951023/MiniExcel</PackageProjectUrl>
|
||||
<PackageIconUrl>https://raw.githubusercontent.com/shps951023/ImageHosting/master/img/2019-01-17.13.18.32-image.png</PackageIconUrl>
|
||||
<TargetFrameworks>net461;netstandard2.0;net5.0</TargetFrameworks>
|
||||
<Version>0.0.1</Version>
|
||||
<PackageReleaseNotes></PackageReleaseNotes>
|
||||
<RepositoryType>Github</RepositoryType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0'">
|
||||
<PackageReference Include="System.IO.Packaging" Version="5.0.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net5.0'">
|
||||
<PackageReference Include="System.IO.Packaging" Version="5.0.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net461'">
|
||||
<PackageReference Include="System.IO.Packaging" Version="5.0.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
257
Src/MiniExcel/MiniExcelHelper.cs
Normal file
257
Src/MiniExcel/MiniExcelHelper.cs
Normal file
@ -0,0 +1,257 @@
|
||||
namespace MiniExcel
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Packaging;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using System.Xml.Linq;
|
||||
public static class MiniExcelHelper
|
||||
{
|
||||
internal static Dictionary<string, ZipPackageInfo> DefaultFilesTree => new Dictionary<string, ZipPackageInfo>()
|
||||
{
|
||||
{ @"/_rels/.rels",new ZipPackageInfo(DefualtXml.defaultRels, "application/vnd.openxmlformats-package.relationships+xml")},
|
||||
{ @"/xl/_rels/workbook.xml.rels",new ZipPackageInfo(DefualtXml.defaultWorkbookXmlRels, "application/vnd.openxmlformats-package.relationships+xml")},
|
||||
{ @"/xl/styles.xml",new ZipPackageInfo(DefualtXml.defaultStylesXml, "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")},
|
||||
{ @"/xl/workbook.xml",new ZipPackageInfo(DefualtXml.defaultWorkbookXml, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")},
|
||||
{ @"/xl/worksheets/sheet1.xml",new ZipPackageInfo(DefualtXml.defaultSheetXml, "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")},
|
||||
};
|
||||
|
||||
public static void Create(string path, object value, string startCell = "A1", bool printHeader = true)
|
||||
{
|
||||
var xy = CellUtil.ConvertCellToXY(startCell);
|
||||
|
||||
var filesTree = DefaultFilesTree;
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
var yIndex = xy.Item2;
|
||||
|
||||
if (value is System.Collections.ICollection)
|
||||
{
|
||||
var _vs = value as System.Collections.ICollection;
|
||||
object firstValue = null;
|
||||
{
|
||||
foreach (var v in _vs)
|
||||
{
|
||||
firstValue = v;
|
||||
break;
|
||||
}
|
||||
}
|
||||
var type = firstValue.GetType();
|
||||
var props = type.GetProperties();
|
||||
if (printHeader)
|
||||
{
|
||||
sb.AppendLine($"<x:row r=\"{yIndex.ToString()}\">");
|
||||
var xIndex = xy.Item1;
|
||||
foreach (var p in props)
|
||||
{
|
||||
var columname = CellUtil.ConvertXyToCell(xIndex, yIndex);
|
||||
sb.Append($"<x:c r=\"{columname}\" t=\"str\">");
|
||||
sb.Append($"<x:v>{p.Name}");
|
||||
sb.Append($"</x:v>");
|
||||
sb.Append($"</x:c>");
|
||||
xIndex++;
|
||||
}
|
||||
sb.AppendLine($"</x:row>");
|
||||
yIndex++;
|
||||
}
|
||||
|
||||
foreach (var v in _vs)
|
||||
{
|
||||
sb.AppendLine($"<x:row r=\"{yIndex.ToString()}\">");
|
||||
var xIndex = xy.Item1;
|
||||
foreach (var p in props)
|
||||
{
|
||||
var cellValue = p.GetValue(v);
|
||||
var cellValueStr = CellUtil.GetValue(cellValue);
|
||||
var t = "t=\"str\"";
|
||||
{
|
||||
if (decimal.TryParse(cellValueStr, out var outV))
|
||||
t = "t=\"n\"";
|
||||
if (cellValue is bool)
|
||||
{
|
||||
t = "t=\"b\"";
|
||||
cellValueStr = (bool)cellValue ? "1" : "0";
|
||||
}
|
||||
if (cellValue is DateTime || cellValue is DateTime?)
|
||||
{
|
||||
t = "s=\"1\"";
|
||||
cellValueStr = ((DateTime)cellValue).ToOADate().ToString();
|
||||
}
|
||||
}
|
||||
var columname = CellUtil.ConvertXyToCell(xIndex, yIndex);
|
||||
sb.Append($"<x:c r=\"{columname}\" {t}>");
|
||||
sb.Append($"<x:v>{cellValueStr}");
|
||||
sb.Append($"</x:v>");
|
||||
sb.Append($"</x:c>");
|
||||
xIndex++;
|
||||
}
|
||||
sb.AppendLine($"</x:row>");
|
||||
yIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
filesTree[@"/xl/worksheets/sheet1.xml"].Xml = $@"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<x:worksheet xmlns:x=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
|
||||
<x:sheetData>{sb.ToString()}</x:sheetData>
|
||||
</x:worksheet>";
|
||||
}
|
||||
CreateZipFileStream(path, filesTree);
|
||||
}
|
||||
|
||||
public static Dictionary<string, object> Read(string fileName)
|
||||
{
|
||||
var parsedCells = new Dictionary<string, object>();
|
||||
using (Package xlsxPackage = Package.Open(fileName, FileMode.Open, FileAccess.Read))
|
||||
{
|
||||
var allParts = xlsxPackage.GetParts();
|
||||
|
||||
|
||||
var worksheetElement = GetFirstWorksheet(allParts);
|
||||
var cells = from c in worksheetElement.Descendants(ExcelNamespaces.excelNamespace + "c")
|
||||
select c;
|
||||
|
||||
var sharedStrings = GetSharedStrings(allParts);
|
||||
foreach (XElement cell in cells)
|
||||
{
|
||||
var r = cell.Attribute("r");
|
||||
{
|
||||
var cellPosition = r.Value;
|
||||
var v = cell.Descendants(ExcelNamespaces.excelNamespace + "v").SingleOrDefault()?.Value;
|
||||
var t = cell.Attribute("t")?.Value;
|
||||
if (t == "s")
|
||||
{
|
||||
parsedCells.Add(cellPosition, sharedStrings[Convert.ToInt32(v)]);
|
||||
}
|
||||
else
|
||||
{
|
||||
parsedCells.Add(cellPosition, v);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return parsedCells;
|
||||
}
|
||||
|
||||
private static Dictionary<int, string> GetSharedStrings(PackagePartCollection allParts)
|
||||
{
|
||||
var sharedStringsPart = (from part in allParts
|
||||
where part.ContentType.Equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")
|
||||
select part).SingleOrDefault();
|
||||
if (sharedStringsPart == null)
|
||||
return null;
|
||||
|
||||
|
||||
Dictionary<int, string> sharedStrings = new Dictionary<int, string>();
|
||||
var sharedStringsElement = XElement.Load(XmlReader.Create(sharedStringsPart.GetStream()));
|
||||
IEnumerable<XElement> sharedStringsElements = from s in sharedStringsElement.Descendants(ExcelNamespaces.excelNamespace + "t")
|
||||
select s;
|
||||
int Counter = 0;
|
||||
foreach (XElement sharedString in sharedStringsElements)
|
||||
{
|
||||
sharedStrings.Add(Counter, sharedString.Value);
|
||||
Counter++;
|
||||
}
|
||||
return sharedStrings;
|
||||
}
|
||||
|
||||
private static XElement GetFirstWorksheet(PackagePartCollection allParts)
|
||||
{
|
||||
PackagePart worksheetPart = (from part in allParts
|
||||
where part.ContentType.Equals("application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")
|
||||
select part).FirstOrDefault();
|
||||
|
||||
return XElement.Load(XmlReader.Create(worksheetPart.GetStream()));
|
||||
}
|
||||
|
||||
private static FileStream CreateZipFileStream(string path, Dictionary<string, ZipPackageInfo> zipPackageInfos)
|
||||
{
|
||||
using (FileStream stream = new FileStream(path, FileMode.CreateNew))
|
||||
using (Package zip = System.IO.Packaging.ZipPackage.Open(stream, FileMode.OpenOrCreate))
|
||||
{
|
||||
foreach (var p in zipPackageInfos)
|
||||
{
|
||||
Uri uri = PackUriHelper.CreatePartUri(new Uri(p.Key, UriKind.Relative));
|
||||
if (zip.PartExists(uri))
|
||||
zip.DeletePart(uri);
|
||||
PackagePart part = zip.CreatePart(uri, p.Value.ContentType, p.Value.CompressionOption);
|
||||
var bytes = Encoding.ASCII.GetBytes(p.Value.Xml.ToString());
|
||||
using (Stream dest = part.GetStream())
|
||||
foreach (var b in bytes)
|
||||
dest.WriteByte(b);
|
||||
}
|
||||
return stream;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static class CellUtil
|
||||
{
|
||||
internal static string GetValue(object value) => value == null ? "" : value.ToString().Replace("<", "<").Replace(">", ">");
|
||||
|
||||
/// <summary>X=CellLetter,Y=CellNumber,ex:A1=(1,1),B2=(2,2)</summary>
|
||||
internal static string ConvertXyToCell(Tuple<int, int> xy)
|
||||
{
|
||||
return ConvertXyToCell(xy.Item1, xy.Item2);
|
||||
}
|
||||
|
||||
/// <summary>X=CellLetter,Y=CellNumber,ex:A1=(1,1),B2=(2,2)</summary>
|
||||
internal static string ConvertXyToCell(int x, int y)
|
||||
{
|
||||
int dividend = x;
|
||||
string columnName = String.Empty;
|
||||
int modulo;
|
||||
|
||||
while (dividend > 0)
|
||||
{
|
||||
modulo = (dividend - 1) % 26;
|
||||
columnName = Convert.ToChar(65 + modulo).ToString() + columnName;
|
||||
dividend = (int)((dividend - modulo) / 26);
|
||||
}
|
||||
return $"{columnName}{y}";
|
||||
}
|
||||
|
||||
/// <summary>X=CellLetter,Y=CellNumber,ex:A1=(1,1),B2=(2,2)</summary>
|
||||
internal static Tuple<int, int> ConvertCellToXY(string cell)
|
||||
{
|
||||
const string keys = " ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
const int mode = 26;
|
||||
|
||||
var x = 0;
|
||||
var cellLetter = GetCellLetter(cell);
|
||||
//AA=27,ZZ=702
|
||||
for (int i = 0; i < cellLetter.Length; i++)
|
||||
x = x * mode + keys.IndexOf(cellLetter[i]);
|
||||
|
||||
var cellNumber = GetCellNumber(cell);
|
||||
return Tuple.Create(x, int.Parse(cellNumber));
|
||||
}
|
||||
|
||||
internal static string GetCellNumber(string cell)
|
||||
{
|
||||
string cellNumber = string.Empty;
|
||||
for (int i = 0; i < cell.Length; i++)
|
||||
{
|
||||
if (Char.IsDigit(cell[i]))
|
||||
cellNumber += cell[i];
|
||||
}
|
||||
return cellNumber;
|
||||
}
|
||||
|
||||
internal static string GetCellLetter(string cell)
|
||||
{
|
||||
string GetCellLetter = string.Empty;
|
||||
for (int i = 0; i < cell.Length; i++)
|
||||
{
|
||||
if (Char.IsLetter(cell[i]))
|
||||
GetCellLetter += cell[i];
|
||||
}
|
||||
return GetCellLetter;
|
||||
}
|
||||
}
|
||||
}
|
4
Src/MiniExcel/Properties/AssemblyInfo.cs
Normal file
4
Src/MiniExcel/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
#if PLAT_SKIP_LOCALS_INIT
|
||||
[module: System.Runtime.CompilerServices.SkipLocalsInit]
|
||||
#endif
|
16
Src/MiniExcel/ZipPackageInfo.cs
Normal file
16
Src/MiniExcel/ZipPackageInfo.cs
Normal file
@ -0,0 +1,16 @@
|
||||
namespace MiniExcel
|
||||
{
|
||||
using System.IO.Packaging;
|
||||
|
||||
internal class ZipPackageInfo
|
||||
{
|
||||
public string Xml { get; set; }
|
||||
public string ContentType { get; set; }
|
||||
public CompressionOption CompressionOption { get; set; } = CompressionOption.Normal;
|
||||
public ZipPackageInfo(string xml, string contentType, CompressionOption CompressionOption = CompressionOption.Normal)
|
||||
{
|
||||
Xml = xml;
|
||||
ContentType = contentType;
|
||||
}
|
||||
}
|
||||
}
|
29
Src/MiniExcelTests/MiniExcelHelperTests.cs
Normal file
29
Src/MiniExcelTests/MiniExcelHelperTests.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using Xunit;
|
||||
using MiniExcel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.IO;
|
||||
|
||||
namespace MiniExcel.Tests
|
||||
{
|
||||
public class MiniExcelHelperTests
|
||||
{
|
||||
[Fact()]
|
||||
public void CreateTest()
|
||||
{
|
||||
var path = Path.Combine(Path.GetTempPath(), $"{Guid.NewGuid()}.xlsx");
|
||||
MiniExcelHelper.Create(path, new[] {
|
||||
new { a = @"""<>+-*//}{\\n", b = 1234567890,c = true,d=DateTime.Now },
|
||||
new { a = "<test>Hello World</test>", b = -1234567890,c=false,d=DateTime.Now.Date}
|
||||
});
|
||||
var info = new FileInfo(path);
|
||||
|
||||
Assert.True(info.FullName == path);
|
||||
|
||||
File.Delete(path);
|
||||
}
|
||||
}
|
||||
}
|
18
Src/MiniExcelTests/MiniExcelTests.csproj
Normal file
18
Src/MiniExcelTests/MiniExcelTests.csproj
Normal file
@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net461</TargetFramework>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\MiniExcel\MiniExcel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user