L'ajout d'images dans Excel à l'aide de EPPlus
Je suis en train d'ajouter la même image plusieurs fois dans un fichier excel à l'aide de EPPlus. J'utilise le code suivant pour le faire:
Image logo = Image.FromFile(path);
ExcelPackage package = new ExcelPackage(info);
var ws = package.Workbook.Worksheets.Add("Test Page");
for(int a = 0; a < 5; a++)
{
ws.Row(a*5).Height = 39.00D;
var picture = ws.Drawings.AddPicture(a.ToString(), logo);
picture.SetPosition(a*5, 0, 2, 0);
}
Tout fonctionne parfaitement et toutes les images sont correctement ajoutée, mais ils sont tendus vers le bas. Voici ce que l'une des photos que devrait ressembler à:
Mais il semble que cela dans excel:
Je dois redimensionner chaque ligne de départ de chaque photo, mais je ne pense pas que ce serait affectent. Y aurait-il un moyen d'ajouter des photos/faire ce que je suis en train de faire ou ce que je dois copier-coller les images manuellement? (Je suis en utilisant l'image comme un exemple)
Grâce.
- vous êtes prouvant la largeur de l'unité?
- Qu'entendez-vous par la largeur? Vouliez-vous dire la hauteur de chaque ligne je suis en train de changer?
- oui,Dans quelle unité vous sont en train de changer la hauteur de la ligne? moyenne px,cm,point
- Je ne suis pas sûr de qui il s'agit, mais si vous allez dans excel et re de la taille d'une ligne, elle affiche:
Height: ##.## (## Pixels)
. Je suis l'évolution de la première mesure:Height: 39.00
. J'espère que cela a du sens. - Comment insérer une image dans Excel à l'aide d'Images au format Base64? (EPPlus)
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr si c'est la meilleure solution, mais certainement une solution à votre problème.
Voici ce que j'ai fait:
Voici à quoi il ressemble.
Pour une raison quelconque, quand nous avons la hauteur de ligne jeu, son interférence avec l'image de la hauteur.
C'est une solution que vous pouvez appliquer en C#.
essayer cette
ou
picture.Placement
n'existe pas. La seconde s'étend de l'image d'une manière différente; j'ai essayé:picture.SetSize(logo.Width, logo.Height)
et les images continuent à s'étirer vers le bas.Ajouter ce qui suit à droite avant d'enregistrer le document:
utiliser le code ci-dessous pour régler l'image dans une cellule excel:
lorsque vous êtes de passage à dire exemple 39 pixels, il va le prendre comme point de insted de pixel en interne, donc vous pensez que vous allez définir la ligne de hauteur à 39 pixels, mais en réalité c'est le réglage de la ligne de hauteur à 39 point. donc, selon la formule suivante de votre ligne de hauteur est devenu 52 pixels.
Si vous souhaitez définir la ligne de hauteur à 39px, signifie que vous avez passer 29.25 Point(selon la formule) insted de 39.
Essayer celui-ci.