Browse Source

implement ExtractPicturesFromXls example

git-svn-id: http://npoi.googlecode.com/svn/trunk@21 3d0cb27c-5942-9f1f-b0c8-b51bd5f61ba7
pull/44/head
tonyqus@gmail.com 14 years ago
parent
commit
b0fdc6bdb7
  1. 14
      examples/hssf/ExtractPicturesFromXls/ExtractPicturesFromXls.csproj
  2. 45
      examples/hssf/ExtractPicturesFromXls/Program.cs
  3. BIN
      examples/hssf/ExtractPicturesFromXls/clothes.xls

14
examples/hssf/ExtractPicturesFromXls/ExtractPicturesFromXls.csproj

@ -31,14 +31,28 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Ionic.Zip, Version=1.9.1.5, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\solution\Lib\Ionic.Zip.dll</HintPath>
</Reference>
<Reference Include="NPOI, Version=1.2.4.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\solution\Lib\NPOI.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="clothes.xls">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

45
examples/hssf/ExtractPicturesFromXls/Program.cs

@ -32,6 +32,8 @@ using NPOI.HSSF.UserModel;
using NPOI.HPSF;
using NPOI.POIFS.FileSystem;
using NPOI.SS.UserModel;
using System.Collections;
using System.Drawing;
namespace ExtractPicturesFromXls
{
@ -41,46 +43,33 @@ namespace ExtractPicturesFromXls
{
InitializeWorkbook();
Sheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
sheet1.CreateRow(0).CreateCell(0).SetCellValue("This is a Sample");
int x = 1;
int i = 1;
for (i = 1; i <= 15; i++)
IList pictures = hssfworkbook.GetAllPictures();
int i = 0;
foreach (HSSFPictureData pic in pictures)
{
Row row = sheet1.CreateRow(i);
for (int j = 0; j < 15; j++)
string ext = pic.SuggestFileExtension();
if (ext.Equals("jpeg"))
{
Image jpg = Image.FromStream(new MemoryStream(pic.Data));
jpg.Save(string.Format("pic{0}.jpg",i++));
}
else if (ext.Equals("png"))
{
row.CreateCell(j).SetCellValue(x++);
Image png = Image.FromStream(new MemoryStream(pic.Data));
png.Save(string.Format("pic{0}.png", i++));
}
}
WriteToFile();
}
static HSSFWorkbook hssfworkbook;
static void WriteToFile()
{
//Write the stream data of workbook to the root directory
FileStream file = new FileStream(@"test.xls", FileMode.Create);
hssfworkbook.Write(file);
file.Close();
}
static void InitializeWorkbook()
{
hssfworkbook = new HSSFWorkbook();
////create a entry of DocumentSummaryInformation
DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();
dsi.Company = "NPOI Team";
hssfworkbook.DocumentSummaryInformation = dsi;
////create a entry of SummaryInformation
SummaryInformation si = PropertySetFactory.CreateSummaryInformation();
si.Subject = "NPOI SDK Example";
hssfworkbook.SummaryInformation = si;
FileStream file = new FileStream(@"clothes.xls", FileMode.Open, FileAccess.Read);
hssfworkbook = new HSSFWorkbook(file);
}
}
}

BIN
examples/hssf/ExtractPicturesFromXls/clothes.xls

Loading…
Cancel
Save